Yolo model
rebelate opened this issue · comments
Arsil commented
Hi, i want to know the process of making the yolo model on the example file, i always getting error when i try to load my own model (ofc after exporting it as a torchscript
thanks
sugarme commented
In the Yolo3 example, pretrained model weights were saved to numpy .npz
. The weights then were loaded to go. Have a look at the below example (taken from example/convert
):
package main
import (
"fmt"
"log"
ts "github.com/sugarme/gotch/tensor"
)
func main() {
// NOTE. Python script to save model to .npz can be found at https://github.com/sugarme/pytorch-pretrained/bert/bert-base-uncased-to-npz.py
filepath := "../../data/convert-model/bert/model.npz"
namedTensors, err := ts.ReadNpz(filepath)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Num of named tensor: %v\n", len(namedTensors))
outputFile := "/home/sugarme/projects/transformer/data/bert/model.gt"
err = ts.SaveMultiNew(namedTensors, outputFile)
if err != nil {
log.Fatal(err)
}
}
With gotch
there's also other ways of loading models using JIT torchscript but for this yolo3, we load pretrained weights to darknet model created in Go.
If you try to use JIT model, please see this JIT example.
Please let me know how things go. Thanks