Toybrick

rknn-api报错

liuwenzhen

注册会员

积分
126
楼主
发表于 2020-5-20 17:10:10    查看: 8045|回复: 3 | [复制链接]    打印 | 只看该作者
系统环境:diban10  推理工具rknn-api1.3.0
问题:运行时,在rknn_input_set阶段报错

对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?




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

jefferyzhang

版主

积分
13580
沙发
发表于 2020-5-21 08:54:17 | 只看该作者
请自己检查代码,这里log明确的告诉你了,你输入不符合模型输入尺寸。
你要是浮点FP32,size居然是w*h*c ???
回复

使用道具 举报

liuwenzhen

注册会员

积分
126
板凳
 楼主| 发表于 2020-5-21 09:11:43 | 只看该作者
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

注册会员

积分
126
地板
 楼主| 发表于 2020-5-21 09:24:22 | 只看该作者
jefferyzhang 发表于 2020-5-21 08:54
请自己检查代码,这里log明确的告诉你了,你输入不符合模型输入尺寸。
你要是浮点FP32,size居然是w*h*c ? ...

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

使用道具 举报

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

本版积分规则

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


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