Toybrick

标题: rknn-api报错 [打印本页]

作者: liuwenzhen    时间: 2020-5-20 17:10
标题: rknn-api报错
系统环境:diban10  推理工具rknn-api1.3.0
问题:运行时,在rknn_input_set阶段报错
[attach]1103[/attach]
对input设置的代码如下:
rknn_input inputs[1];
            inputs[0].index = input_index;
            inputs[0].buf = img.data;
            inputs[0].size = img_width * img_height * img_channels;
            inputs[0].pass_through = false;
            inputs[0].type = RKNN_TENSOR_FLOAT32;
            inputs[0].fmt = RKNN_TENSOR_NHWC;
            ret = rknn_inputs_set(ctx, 1, inputs);


后来将inputs[0].type设置为RKNN_TENSOR_UINT8可以正常运行,但是模型预测结果固定不改变
请问为什么不能设置成float32?





作者: jefferyzhang    时间: 2020-5-21 08:54
请自己检查代码,这里log明确的告诉你了,你输入不符合模型输入尺寸。
你要是浮点FP32,size居然是w*h*c ???
作者: liuwenzhen    时间: 2020-5-21 09:11
jefferyzhang 发表于 2020-5-21 08:54
请自己检查代码,这里log明确的告诉你了,你输入不符合模型输入尺寸。
你要是浮点FP32,size居然是w*h*c ? ...

不好意思,我不太懂你的意思,我的代码里面type=RKNN_TNESOR_FLOAT32,size设置为fmt=RKNN_TNESOR_NHWC,这好像没什么问题吧?而且数据是float还是int跟size应该是没有关系的啊?
我读取原图像后做了以下几个操作
cvtColor(img, img, COLOR_BGR2RGB);
img.convertTo(img,CV_32FC3);
img = img/255.0;
这个和inputs的设置有不同的地方吗?
作者: liuwenzhen    时间: 2020-5-21 09:24
jefferyzhang 发表于 2020-5-21 08:54
请自己检查代码,这里log明确的告诉你了,你输入不符合模型输入尺寸。
你要是浮点FP32,size居然是w*h*c ? ...

我好像有点理解了,你的意思是数据由uint8变成float32后,size不能按w*h*c这么计算了是吗?




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3