|
本帖最后由 jefferyzhang 于 2020-3-6 08:20 编辑
目前我们收到了一些关于RKNN ToolKit的问题,在此进行一些汇总和答复
1、yolo前向测试返回的outputs为[array1 , array2],长度分别为[10140 , 40560],文档中未指明返回值表示意义,请给出说明
rknn.inference返回的outputs是一个numpy ndarray的列表(这个文档有说明),每个模型输出数据大小个数都不一样,文档也没法写对指定模型的outputs的意义,用户需要自行查找模型的对应输出和解析规则。
2、发现rknn输出的数据都是噪点数据或者数据不对
rknn的输出一直都是channel first!对输出做reshape等操作的时候要注意这一点。 注:1.0.0 以前的版本如果模型输出的数据是按”NHWC”排列的,将转成”NCHW”。从v1.0.0版本开始,output 的 shape 将与原始模型保持一致,不再进行”NHWC”到”NCHW”的转换。进行后处理时请注意 channel 所在的位置。
3、Toybrick开发板上用rknn-toolkit转换模型时开启pre_compile=true出错
arm64版本的rknn-toolkit暂时还不支持pre_compile,如果需要打开pre_compile,建议在开发机上用x86版本rknn-toolkit进行转换。
4、模型转换过程中,numpy 出现错误T ValueError: Object arrays cannot be loaded when allow_pickle=False
自numpy 1.16.3开始, np.load()的allow_pickle默认为False, 可能导致RKNN报错。需要降低numpy版本,比如1.16.2。
rknn-toolkit V1.0.0已修复该问题。
5、 LSTM如何转换
lstm可以参考: https://github.com/MaybeShewill-CV/CRNN_Tensorflow
|
|