chenll
发表于 2023-9-21 17:14:59
dengkx 发表于 2023-9-21 10:01
demo在rknn/src下,py的只添加了接口,还没写出demo。你可以认为推理时间大于视频帧间隔,可以跳过一帧或 ...
我在ffmedia_api.pdf 这个文档里面也没有看到跳帧或者是间隔帧
dengkx
发表于 2023-9-22 15:42:45
chenll 发表于 2023-9-21 12:17
等不能说一下py的接口是哪个,我看了demo.cpp 但是没有找到是哪里使用的,因看不懂C
看demo/Readme.md 在使用rknn推理的例子是仓库下的rknn/src/demo_rknn.cpp。你可以按照demo/Readme.md 编译出demo_rknn,然后按照文档运行他
chenll
发表于 2023-9-22 19:42:15
dengkx 发表于 2023-9-22 15:42
看demo/Readme.md 在使用rknn推理的例子是仓库下的rknn/src/demo_rknn.cpp。你可以按照demo/Readme.md 编 ...
我对照demo_rknn.cpp写了一个py版本的但是加载rknn 模型时候出现了问题
setModelData(): incompatible function arguments. The following argument types are supported:
1. (self: ff_pymedia.ModuleInference, arg0: capsule, arg1: int) -> int
Invoked with: <ff_pymedia.ModuleInference object at 0x7fa664f0f0>, <ff_pymedia.ModuleInference object at 0x7fa664f0f0>, 'iot_firefly.rknn', 0
========================
dec.setModelData('iot_firefly.rknn', 0)
ret = dec.init()
if ret < 0:
print("dec init failed")
raise Exception
else:
print("dec int done")
=============demo代码=============
input_para = dec->getOutputImagePara();
inf = make_shared<ModuleInference>(input_para);
inf->setProductor(dec);
inf->setInferenceInterval(1);
if (inf->setModelData(argv, 0) < 0) {
ff_error("inf setModelData fail!\n");
break;
}
ret = inf->init();
if (ret < 0) {
ff_error("inf init failed\n");
break;
}
dengkx
发表于 2023-9-26 16:56:46
chenll 发表于 2023-9-22 19:42
我对照demo_rknn.cpp写了一个py版本的但是加载rknn 模型时候出现了问题
setModelDatac的参数类型没有转换处理,下个版本修复该问题
dengkx
发表于 2023-10-8 14:45:40
chenll 发表于 2023-9-22 19:42
我对照demo_rknn.cpp写了一个py版本的但是加载rknn 模型时候出现了问题
新版本可以推理了,就是不知道py那边需要的数据类型是什么,暂时将c++的推理结果数据(uint8)实例成py数组,再把这些数组合成list,所以使用模块的getOutputList()获取推理结果
chenll
发表于 2023-10-12 10:36:20
dengkx 发表于 2023-10-8 14:45
新版本可以推理了,就是不知道py那边需要的数据类型是什么,暂时将c++的推理结果数据(uint8)实例成py数 ...
好的,我用新版本的测试一下
chenll
发表于 2023-10-17 10:32:48
dengkx 发表于 2023-10-8 14:45
新版本可以推理了,就是不知道py那边需要的数据类型是什么,暂时将c++的推理结果数据(uint8)实例成py数 ...
rga_api version 1.8.1_
E RKNN: parseRKNN: rknn model is too small!
E RKNN: parseRKNN from buffer: Invalid RKNN format!
E RKNN: rknn_init, load model failed!
ERROR: ff_media: setModel: rknn_init fail! ret=-6
ERROR: 15ModuleInference: init: model input height=0, width=0 is incorrect
我这里出现说rknn 的模型太小了,我试了几个20Mb的也不行
dengkx
发表于 2023-10-17 11:16:31
要传模型路径,他应该是没找到你输入的模型文件,把他当做模型数据了。检测一下你输入的模型路径对不对,或者使用绝对路径
chenll
发表于 2023-10-17 11:25:22
dengkx 发表于 2023-10-17 11:16
要传模型路径,他应该是没找到你输入的模型文件,把他当做模型数据了。检测一下你输入的模型路径对不对,或 ...
这个是设置的路径dec.setModelData('/home/firefly/project/iot_firefly.rknn', 1)
fireflyÄfirefly:ü/project$ pwd
/home/firefly/project
fireflyÄfirefly:ü/project$ ls
ffmedia_releaseiot_firefly1.rknniot_firefly2.rknniot_firefly.rknnmain.py
用的是绝对路径路径应该是没有问题的
dengkx
发表于 2023-10-17 11:26:05
chenll 发表于 2023-10-17 11:25
这个是设置的路径dec.setModelData('/home/firefly/project/iot_firefly.rknn', 1)
fireflyÄfire ...
使用文件大小要设置0