Toybrick

resnet 分类网络不支持

czcl

中级会员

积分
383
楼主
发表于 2022-7-19 14:14:48    查看: 3513|回复: 3 | [复制链接]    打印 | 只看该作者
使用套件版本V1.6.0
转换 模型代码,使用darknet转rknn
分别测试检测网络和残差网络
检测网络使用yolov3 成功
残差网络使用resnet50 失败
失败原因日志如下:
--> Loading model
W Still not implement cost shape engine
E Do not support the shortcut inputs: [0, 32, 32, 512] [0, 64, 64, 256]
W ----------------Warning(1)----------------
E Catch exception when loading darknet model: ./cifar/cifar.cfg!
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 282, in rknn.api.rknn_base.RKNNBase.load_darknet
E   File "rknn/base/RKNNlib/RK_nn.py", line 125, in rknn.base.RKNNlib.RK_nn.RKnn.load_darknet
E   File "rknn/base/RKNNlib/converter/convert_darknet.py", line 669, in rknn.base.RKNNlib.converter.convert_darknet.Converter.converte
E   File "rknn/base/RKNNlib/converter/convert_darknet.py", line 807, in rknn.base.RKNNlib.converter.convert_darknet.Converter.build_graph
E   File "rknn/base/RKNNlib/converter/convert_darknet.py", line 616, in rknn.base.RKNNlib.converter.convert_darknet.NetGenerator.add_layer
E   File "rknn/base/RKNNlib/converter/convert_darknet.py", line 508, in rknn.base.RKNNlib.converter.convert_darknet.ShortcutGenerator.gen
E   File "rknn/api/rknn_log.py", line 312, in rknn.api.rknn_log.RKNNLog.e
E ValueError: Do not support the shortcut inputs: [0, 32, 32, 512] [0, 64, 64, 256]
Load weights failed!



两个网络模型都使用darknet训练,分别在PC端验证通过
yolov3 和 resnet50 都包含shortcut,发现yolov3 能够正常转换,但是resnet50不行,请问分类网络不支持shortcut网络层么,我看文档里面是支持的呀

文档内容如下

## Darknet OPs supported by RKNN
The list of Darknet OPs supported by RKNN Version 1.6.0 is as follows:

| **Operators** |
|---|
|batchnormalize|
|convolutional|
|depthwise_convolutional|
|pooling|
|fullconnect|
|leakyrelu|
|concat|
|add|
|upsampling|
|reorg|
|noop|
|route|
|region|
|shortcut|
|multiply|
|swish|
|logistic|
|mish|
|softmax|


回复

使用道具 举报

jefferyzhang

版主

积分
13578
沙发
发表于 2022-7-19 18:22:25 | 只看该作者
支持,请先把工具升级到最新版本,当前版本是1.7.1.
转不过可以试试先转onnx再转rknn
回复

使用道具 举报

czcl

中级会员

积分
383
板凳
 楼主| 发表于 2022-7-21 11:37:14 | 只看该作者
jefferyzhang 发表于 2022-7-19 18:22
支持,请先把工具升级到最新版本,当前版本是1.7.1.
转不过可以试试先转onnx再转rknn ...

更换最新的1.7.1 问题依旧存在

先转onnx的方式没有成功,因为darknet转onnx 有些网络层不支持转换,网上的转换脚本大多支持检测网络不支持分类网络转换,有推荐的转换脚本么?

另外为什么不能直接转呢,一定要转换成onnx才能转rknn么
回复

使用道具 举报

jefferyzhang

版主

积分
13578
地板
发表于 2022-7-21 12:04:48 | 只看该作者
本帖最后由 jefferyzhang 于 2022-7-21 12:13 编辑
czcl 发表于 2022-7-21 11:37
更换最新的1.7.1 问题依旧存在

先转onnx的方式没有成功,因为darknet转onnx 有些网络层不支持转换,网上 ...

因为市面上框架这么多,每个框架又那么多版本,rknn怎么可能支持的过来,onnx是公认最通用的中间框架,rknn只需要支持onnx就可以实现所有其他框架的支持。
回复

使用道具 举报

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

本版积分规则

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


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