|
本帖最后由 roboman 于 2019-10-31 18:04 编辑
把CenterNet检测算法中的hourglass网络转成了TensorFlow的pb模型,用官方提供的rknn_convert.py工具转换模型,模型能够正常load,但是build的时候出错了,请问有什么解决办法吗?
日志如下:
--> Loading model...
done
--> Build RKNN model...
E Catch exception when building RKNN model!
T Traceback (most recent call last):
T File "rknn/api/rknn_base.py", line 521, in rknn.api.rknn_base.RKNNBase.build
T File "rknn/api/rknn_base.py", line 440, in rknn.api.rknn_base.RKNNBase._build
T File "rknn/base/ovxconfiggenerator.py", line 197, in rknn.base.ovxconfiggenerator.generate_vx_config_from_files
T File "rknn/base/RKNNlib/app/exporter/ovxlib_case/casegenerator.py", line 373, in rknn.base.RKNNlib.app.exporter.ovxlib_case.casegenerator.CaseGenerator.generate
T File "rknn/base/RKNNlib/app/exporter/ovxlib_case/casegenerator.py", line 170, in rknn.base.RKNNlib.app.exporter.ovxlib_case.casegenerator.CaseGenerator._build_netdict
T File "rknn/base/RKNNlib/app/helper/striphelper.py", line 74, in rknn.base.RKNNlib.app.helper.striphelper.StripHelper.build_netdict
T File "rknn/base/RKNNlib/optimize/optimizer.py", line 186, in rknn.base.RKNNlib.optimize.optimizer.Optimizer.apply
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/tf2caffe.py", line 13, in rknn.base.RKNNlib.optimize.rules.tf2caffe.tf2caffe.T2C_TF2CAFFE.apply
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/t2c_switcher.py", line 309, in rknn.base.RKNNlib.optimize.rules.tf2caffe.t2c_switcher.T2C_Switcher.switch
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/mode_switcher.py", line 126, in rknn.base.RKNNlib.optimize.rules.tf2caffe.mode_switcher.ModeSwitcher.opt_perm
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/mode_switcher.py", line 50, in rknn.base.RKNNlib.optimize.rules.tf2caffe.mode_switcher.ModeSwitcher.opt_perm_list
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/mode_switcher.py", line 44, in rknn.base.RKNNlib.optimize.rules.tf2caffe.mode_switcher.ModeSwitcher._opt_perms
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/mode_switcher.py", line 28, in rknn.base.RKNNlib.optimize.rules.tf2caffe.mode_switcher.ModeSwitcher._remove_permutes
T File "rknn/base/RKNNlib/optimize/rules/tf2caffe/mode_switcher.py", line 12, in rknn.base.RKNNlib.optimize.rules.tf2caffe.mode_switcher.ModeSwitcher._del_permute
T IndexError: list index out of range
done
--> Export RKNN model to: ../ctdet_hg/ctdet_hg.rknn
E RKNN model data is None, please load model first!
done
已经把pb文件上传到了百度网盘,下载链接为https://pan.baidu.com/s/1GmlA4ljdJZyjpp9F04UkCw,还请工作人员帮忙测试一下,测试脚本pb2rknn.py如下:
#!/usr/bin/env python3
import os
import sys
from rknn.api import RKNN
if __name__ == '__main__':
sys.setrecursionlimit(10000)
model_file_path = './ctdet_hg.pb'
inputs = ['input.1']
outputs = ['1549']
input_size_list = [[3, 512, 512]]
rknn = RKNN()
rknn.config(batch_size=1,
channel_mean_value='128 128 128 128',
reorder_channel='0 1 2')
print('--> Loading model...')
rknn.load_tensorflow(tf_pb=model_file_path,
inputs=inputs,
outputs=outputs,
input_size_list=input_size_list)
print('done')
print('--> Build RKNN model...')
rknn.build(do_quantization=False, pre_compile=False)
print('done')
export_rknn_model_path = "./ctdet_hg.rknn"
print('--> Export RKNN model to: {}'.format(export_rknn_model_path))
rknn.export_rknn(export_path=export_rknn_model_path)
print('done')
|
|