Toybrick

pytorch模型转换问题

wujialiang

注册会员

积分
120
楼主
发表于 2020-2-14 15:43:09    查看: 48682|回复: 33 | [复制链接]    打印 | 只看该作者
使用rknn-toolkit-v1.3.0\examples\pytorch例子转换pytorch模型失败,具体日志如下:
root@169b24048060:/examples/pytorch/resnet18# python test.py
--> config model
done
--> Loading model
/usr/local/lib/python3.5/dist-packages/onnx_tf/common/init.py:87: UserWarning: FrontendHandler.get_outputs_names is deprecated. It will be removed in future release.. Use node.outputs instead.
warnings.warn(message)
./resnet18.pt ********************
WARNING: Token 'COMMENT' defined, but not used
WARNING: There is 1 unused token
Syntax error in input! LexToken(NAMED_IDENTIFIER,'None',5,263)
done
--> Building model
W Genreate input meta fail, please check model.
W External input meta file "/tmp/tmp6iu3la8h/resnet18_inputmeta.yml" is not exists.
Traceback (most recent call last):
File "test.py", line 66, in
ret = rknn.build(do_quantization=True, dataset='./dataset.txt')
File "/usr/local/lib/python3.5/dist-packages/rknn/api/rknn.py", line 238, in build
ret = self.rknn_base.build(do_quantization=do_quantization, dataset=dataset, pack_vdata=pre_compile, batch_size=rknn_batch_size)
File "rknn/api/rknn_base.py", line 719, in rknn.api.rknn_base.RKNNBase.build
File "rknn/api/rknn_base.py", line 2249, in rknn.api.rknn_base.RKNNBase._generate_inputmeta
IndexError: list index out of range
请问是什么问题?谢谢

回复

使用道具 举报

jefferyzhang

版主

积分
13582
沙发
发表于 2020-2-14 16:00:02 | 只看该作者
看log这里已经报错了,研究下你的模型这里是什么意思:
Syntax error in input! LexToken(NAMED_IDENTIFIER,'None',5,263)
回复

使用道具 举报

wujialiang

注册会员

积分
120
板凳
 楼主| 发表于 2020-2-14 16:06:03 | 只看该作者
jefferyzhang 发表于 2020-2-14 16:00
看log这里已经报错了,研究下你的模型这里是什么意思:
Syntax error in input! LexToken(NAMED_IDENTIFIER ...

这个demo,你们有能跑成功吗?里面的代码都没有修改过哦,模型也是按代码的地址下载下来的
回复

使用道具 举报

jefferyzhang

版主

积分
13582
地板
发表于 2020-2-14 16:08:56 | 只看该作者
NPU部门回复如下:

这个应该是pytorch版本问题。
我们建议pytorch使用1.2.0版本,我们的测试都是基于1.2.0来做的,高版本有可能会出现一些未知的错误。
回复

使用道具 举报

wujialiang

注册会员

积分
120
5#
 楼主| 发表于 2020-2-14 16:18:06 | 只看该作者
jefferyzhang 发表于 2020-2-14 16:08
NPU部门回复如下:

这个应该是pytorch版本问题。

ok,我先试一下。
torchvision的版本呢?
回复

使用道具 举报

jefferyzhang

版主

积分
13582
6#
发表于 2020-2-14 16:31:17 | 只看该作者
wujialiang 发表于 2020-2-14 16:18
ok,我先试一下。
torchvision的版本呢?

torchvision跟模型无关吧?
回复

使用道具 举报

wujialiang

注册会员

积分
120
7#
 楼主| 发表于 2020-2-14 17:17:34 | 只看该作者
jefferyzhang 发表于 2020-2-14 16:31
torchvision跟模型无关吧?

什么时候rknnAPI可以在rk1808上支持c++直接使用pytorch的模型?目前我使用的detectron2训练的mask rcnn 的模型转换不了
回复

使用道具 举报

jefferyzhang

版主

积分
13582
8#
发表于 2020-2-14 17:23:03 | 只看该作者
wujialiang 发表于 2020-2-14 17:17
什么时候rknnAPI可以在rk1808上支持c++直接使用pytorch的模型?目前我使用的detectron2训练的mask rcnn  ...

这个你问反了,得去问pytorch官方啥时候支持我们NPU。
我们不可能把全世界框架都改一遍支持我们NPU,然后还得跟着他们更新去更新。。。
回复

使用道具 举报

wujialiang

注册会员

积分
120
9#
 楼主| 发表于 2020-2-16 17:43:59 | 只看该作者
jefferyzhang 发表于 2020-2-14 17:23
这个你问反了,得去问pytorch官方啥时候支持我们NPU。
我们不可能把全世界框架都改一遍支持我们NPU,然后 ...

我的意思是,为什么在pc上的rknn-toolkit1.3可以直接支持pytorch或者tensorflow的模型直接载入,然后再rknnapi的c的api上却不支持呢?要先转成rknn格式的,发现不是所有模型都能顺利做转换
回复

使用道具 举报

jefferyzhang

版主

积分
13582
10#
发表于 2020-2-16 19:42:18 | 只看该作者
wujialiang 发表于 2020-2-16 17:43
我的意思是,为什么在pc上的rknn-toolkit1.3可以直接支持pytorch或者tensorflow的模型直接载入,然后再rk ...

rknn-toolkit存在的目的就是倒入其他格式模型,转换成rknn。
rknn-toolkit pc版和arm版功能几乎是一样的,开发版上也有rknntoolkit。
rknnapi是c的推理引擎库,相互关系请看基础教程。

能不能转换成功要看不同格式模型的op,op一直在更新,NPU那边也很难做,但是我们开放了自定义OP功能,所有因为op不支持而无法转换的模型都是可以通过你自定义op来实现转换的。具体请参看下文档说明。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表