Closed Milkve closed 2 years ago
目前mgeconvert不支持直接转到ncnn,您可以尝试一下 megengine->onnx->ncnn 能否正常转换
求给出一些环境:
一个resnet18 mge->onnx->ncnn的例子
mge->onnx
import megengine
from mgeconvert.converters.tm_to_onnx import tracedmodule_to_onnx
import numpy as np
import onnx
from megengine.traced_module import trace_module
net = megengine.hub.load(
"megengine/models", "resnet18", use_cache=True, commit=None, pretrained=True
)
net.eval()
inp = megengine.tensor(np.random.random((1,3,224,224)))
tm = trace_module(net,inp)
tracedmodule_to_onnx(tm, "resnet18.onnx")
model = onnx.load_model("resnet18.onnx")
model = onnx.optimizer.optimize(model, passes = ['eliminate_identity'])
onnx.save(model, "resnet18.onnx")
onnx->ncnn 使用ncnn提供的转换器把导出的onnx模型转到ncnn
./ncnn/build/tools/onnx/onnx2ncnn resnet18.onnx
如果没有其他问题,这个issue就先关了,后续有问题欢迎提新的issue
这样我就可以在手机上折腾这些东西了