Toybrick

tensorflow 版本问题

jy_dll

注册会员

积分
122
楼主
发表于 2020-2-13 14:19:19    查看: 9520|回复: 6 | [复制链接]    打印 | 只看该作者
请问一下,rknn-toolkit 跟 tensorflow 的版本是否必须一一对应,就是我使用某个固定版本的rknn-toolkit 搭建两个不同版本tensorflow的环境,对于相同的op,在这两个不同版本的tensorflow下是否都可以正常转换?本人遇到的具体问题是:
1.使用docker里面的环境,tensorflow是1.11版本,可以正常load 用1.11生成的tflite文件,同时能成功export_rknn;(tflite不管是否做量化都可以成功load及export, rknn的接口统一不做量化);
2.但是如果用conda自己搭建环境,rknn是同一个版本,tensorflow换成高一点的版本,r.1.14, 这时候可以load用1.14生成的tflite,但是build rknn失败,错误如下:
T Traceback (most recent call last):
T   File "rknn/api/rknn_base.py", line 515, in rknn.api.rknn_base.RKNNBase.build
T   File "rknn/api/rknn_base.py", line 439, in rknn.api.rknn_base.RKNNBase._build
T   File "rknn/base/ovxconfiggenerator.py", line 173, in rknn.base.ovxconfiggenerator.generate_vx_config_from_files
T   File "rknn/base/RKNNlib/RKNNnet.py", line 330, in rknn.base.RKNNlib.RKNNnet.RKNNNet.norm_parameters
T   File "rknn/base/RKNNlib/layer/convolution.py", line 36, in rknn.base.RKNNlib.layer.convolution.Convolution._norm_params
T AttributeError: 'NoneType' object has no attribute 'format'
Build rknn failed!

是否因为tf版本问题,rknn转换对应的关键字不一致等原因,导致不能转换?
其他参考信息:
rknn-toolkit 1.0
转换的模型算法是inception v3,没有特殊op(这里用load_tensorflow的接口转换高版本和低版本的pb文件都没问题的, 目前是不支持转换高版本的tflite文件,低版本的tflite可以)







回复

使用道具 举报

jefferyzhang

版主

积分
13580
沙发
发表于 2020-2-13 14:37:11 | 只看该作者
toolkit 1.0 ?为何不用1.3试试呢?

rknn推荐的tf版本是1.13,文档上有写。但是我们Toybrick工作室试过1.14和1.15均可以正常工作。低于1.13不建议使用。
生成pb所用的tf版本必须和转换rknn所用的tf版本一致。
回复

使用道具 举报

jy_dll

注册会员

积分
122
板凳
 楼主| 发表于 2020-2-13 14:39:06 | 只看该作者
补充问题:
对于低版本r.11的tflite,如果只做weight的量化,rknn能load和expor,不报错, 但是生成的rknn模型大小只有2k,也就是目前tflite的接口只有不量化的低版本r1.11的tflite可以成功导出rknn模型
回复

使用道具 举报

jefferyzhang

版主

积分
13580
地板
发表于 2020-2-13 14:51:02 | 只看该作者
jy_dll 发表于 2020-2-13 14:39
补充问题:
对于低版本r.11的tflite,如果只做weight的量化,rknn能load和expor,不报错, 但是生成的rknn ...

你看我们基础教程里那张tflite训练量化转rknn了么。
那个教程用的tf就是1.14
回复

使用道具 举报

jy_dll

注册会员

积分
122
5#
 楼主| 发表于 2020-2-14 14:55:34 | 只看该作者
jefferyzhang 发表于 2020-2-13 14:51
你看我们基础教程里那张tflite训练量化转rknn了么。
那个教程用的tf就是1.14 ...

好的,谢谢;我也知道新版本可以用,但是实际开发中有些版本也不是说升就升的,所以就想上来这里问问,看看有没有解决方法
回复

使用道具 举报

jy_dll

注册会员

积分
122
6#
 楼主| 发表于 2020-2-14 15:02:29 | 只看该作者
话说rknn量化可以用gpu吗,我看量化的时候显存没有占用很多,猜测应该用的是cpu?因为量化花的时间有点长,新版本的rknn-toolkit没有细看,不知道有没有这个功能;所以才打算要用tflite的量化代替
回复

使用道具 举报

jefferyzhang

版主

积分
13580
7#
发表于 2020-2-14 15:20:35 | 只看该作者
jy_dll 发表于 2020-2-14 15:02
话说rknn量化可以用gpu吗,我看量化的时候显存没有占用很多,猜测应该用的是cpu?因为量化花的时间有点长, ...

这个我不确定,应该是CPU跑的,而且这个用GPU我觉得不会有明显提升,都是交互式来调整每一层量化参数的。量化时间长是很正常的。
如果你想用GPU可以用tensorflow的训练量化功能,训练中就完成量化,这样准确度会比较高
回复

使用道具 举报

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

本版积分规则

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


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