Toybrick

rknn-toolkit支持pytorch1.4.0下efficientDetD1的模型为rknn模型吗

daigang

中级会员

积分
209
发表于 2020-8-10 16:35:24    查看: 8765|回复: 9 | [复制链接]    打印 | 显示全部楼层
本帖最后由 daigang 于 2020-8-10 16:37 编辑



rknn-toolkit目前支持pytorch1.4.0吗?能否成功转换pytorch1.4.0下的efficientDetD1的模型为rknn模型?使用的是https://github.com/zylo117/Yet-Another-EfficientDet-Pytorch的代码进行模型训练和保存的模型,但是不知道如何才能成功转换为rknn模型,能否提供点建议。
回复

使用道具 举报

jefferyzhang

版主

积分
13111
发表于 2020-8-10 16:55:36 | 显示全部楼层
我们做芯片角度只考虑op是不是支持,不用问什么什么模型支不支持,模型每年增长上千个,我们怎么可能一个个试过去,转下看看有没有报错就知道了。
目前rknntoolkit 1.3.2只支持pytorch 1.2.0,其他版本不支持。
还有efficientnet不是google发明的网络么,为啥不用tf要用pytorch转
回复

使用道具 举报

senna_kim

新手上路

积分
34
发表于 2020-8-11 15:41:09 | 显示全部楼层
jefferyzhang 发表于 2020-8-10 16:55
我们做芯片角度只考虑op是不是支持,不用问什么什么模型支不支持,模型每年增长上千个,我们怎么可能一个个 ...

你好,请问一下,这种情况 是不是需要自己定义Op?

  1. Try match FusedBatchNormV3 FeatureExtractor/MobilenetV2/layer_19_2_Conv2d_5_3x3_s2_128/BatchNorm/FusedBatchNormV3 failed, catch exception!
  2. E Catch exception when loading tensorflow model: ./output_inference_graph_v2/output_inference_graph_v2/frozen_inference_graph.pb!
  3. E Traceback (most recent call last):
  4. E   File "rknn\base\RKNNlib\converter\convert_tf.py", line 643, in rknn.base.RKNNlib.converter.convert_tf.convert_tf.match_paragraph_and_param
  5. E   File "rknn\base\RKNNlib\RKNNnet.py", line 189, in rknn.base.RKNNlib.RKNNnet.RKNNNet.new_layer
  6. E   File "rknn\base\RKNNlib\RKNNlog.py", line 327, in rknn.base.RKNNlib.RKNNlog.RKNNLog.e
  7. E ValueError: Unknow layer "fusedbatchnormv3"
  8. E During handling of the above exception, another exception occurred:
  9. E Traceback (most recent call last):
  10. E   File "rknn\api\rknn_base.py", line 303, in rknn.api.rknn_base.RKNNBase.load_tensorflow
  11. E   File "rknn\base\RKNNlib\converter\convert_tf.py", line 742, in rknn.base.RKNNlib.converter.convert_tf.convert_tf.match_paragraph_and_param
  12. E   File "rknn\base\RKNNlib\RKNNlog.py", line 327, in rknn.base.RKNNlib.RKNNlog.RKNNLog.e
  13. E ValueError: Try match FusedBatchNormV3 FeatureExtractor/MobilenetV2/layer_19_2_Conv2d_5_3x3_s2_128/BatchNorm/FusedBatchNormV3 failed, catch exception!
复制代码
回复

使用道具 举报

jefferyzhang

版主

积分
13111
发表于 2020-8-11 16:09:37 | 显示全部楼层
senna_kim 发表于 2020-8-11 15:41
你好,请问一下,这种情况 是不是需要自己定义Op?

log上看 是FusedBatchNormV3 这个不支持。
你可以考虑修改模型比较快。
回复

使用道具 举报

senna_kim

新手上路

积分
34
发表于 2020-8-11 16:37:37 | 显示全部楼层
jefferyzhang 发表于 2020-8-11 16:09
log上看 是FusedBatchNormV3 这个不支持。
你可以考虑修改模型比较快。

你的意思是移除这一层网络吗?还是。。。
请再多给点细节,谢谢!
回复

使用道具 举报

jefferyzhang

版主

积分
13111
发表于 2020-8-11 17:59:37 | 显示全部楼层
senna_kim 发表于 2020-8-11 16:37
你的意思是移除这一层网络吗?还是。。。
请再多给点细节,谢谢!

改普通BN层试试,改完要重新训练
回复

使用道具 举报

senna_kim

新手上路

积分
34
发表于 2020-8-11 18:17:33 | 显示全部楼层
jefferyzhang 发表于 2020-8-11 17:59
改普通BN层试试,改完要重新训练

你们现在硬件优化的Op都支持哪些?有文档可以看一下吗?
回复

使用道具 举报

jefferyzhang

版主

积分
13111
发表于 2020-8-11 19:55:14 | 显示全部楼层
senna_kim 发表于 2020-8-11 18:17
你们现在硬件优化的Op都支持哪些?有文档可以看一下吗?

没有文档,硬件op和软件op不是一个概念,每个框架兼容程度也不一样。我们尽可能的全兼容,但新op出的速度远快于我们支持速度。不支持的可以自己通过自定义op来支持,或者等我们支持。
回复

使用道具 举报

senna_kim

新手上路

积分
34
发表于 2020-8-12 09:51:32 | 显示全部楼层
jefferyzhang 发表于 2020-8-11 19:55
没有文档,硬件op和软件op不是一个概念,每个框架兼容程度也不一样。我们尽可能的全兼容,但新op出的速度 ...

好的,谢谢!
回复

使用道具 举报

daigang

中级会员

积分
209
 楼主| 发表于 2020-8-17 14:42:22 | 显示全部楼层
jefferyzhang 发表于 2020-8-10 16:55
我们做芯片角度只考虑op是不是支持,不用问什么什么模型支不支持,模型每年增长上千个,我们怎么可能一个个 ...

在网上找到的tensorflow下的efficientDet的代码都是tensorflow2.0下的代码,之前看贵公司说rknn-toolkit-1.3.2目前还不支持tensorflow2.0,就没有使用了。目前训练的一版是pytorch1.4.0下efficientDetD1的模型,也是遇到了转换模型的问题。
回复

使用道具 举报

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

本版积分规则

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


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