码迷,mamicode.com
首页 > 其他好文 > 详细

pytorch转onnx转ncnn问题Unsqueeze not supported yet!

时间:2020-05-20 12:20:33      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:alt   原因   nump   nbsp   最新   rbo   exp   put   code   

1、pytorch模型转onnx

input = cv.imread(‘c:/123.jpg‘)
input = np.transpose(input, (2, 0, 1)).astype(np.float32)
now_image1 = Variable(torch.from_numpy(input))
dummy_input = now_image1.unsqueeze(0)
input_name = [‘input‘]
output_name = [‘output‘]
torch_out = torch.onnx._export(model, dummy_input, "c:/resnet50.onnx", verbose=True, input_names=input_name, output_names=output_name)

2、onnx再精简模型python -m onnxsim c:/resnet50.onnx c:/resnet50-sim.onnx

注意这里需要安装一些库>pip install onnx-simplifier  pip install  onnxruntime

 

3、下载ncnn源码,编译后会有onnx2ncnn的应用

转换过程出现技术图片

 

 

查找了各种办法都不行,后面看了一下onnx2ncnn的源码,发现每一层里面都有对应的代码处理,而我用的onnx2ncnn里面没有对Unsqueeze和Squeeze的层做处理,因为我的onnx2ncnn的代码是较早的版本,再去github上看最新的代码,发现已经有对Unsqueeze和Squeeze的层的处理,于是重新下载最新的代码编译,成功转换完成。可是转换后的模型测试结果都是正确的,就是速度好像特别慢,单线程在windows上要4.3秒,这也太慢了吧。这个还没找到什么原因。

 

pytorch转onnx转ncnn问题Unsqueeze not supported yet!

标签:alt   原因   nump   nbsp   最新   rbo   exp   put   code   

原文地址:https://www.cnblogs.com/xdk1002/p/12922711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!