系统软件版本: x3_ubuntu_v1.1.6
- OE发布包:horizon_xj3_openexplorer_v2.5.2_py38_20230331.tar.gz
配置板端模型推理输入为NHWC,BGR,640*640图像,模型转换配置见附件:ps_config.yaml;
调用c++接口,加载模型,获取模型输入的hbDNNTensorProperties,其中:validShape:[1, 640, 640, 3], alignedShape:[1, 640, 640, 4],alignedByteSize:1638400;
调用c++接口,推理测试:
(1)通过opencv读取图像,直接把数据(640*640*3)拷贝到输入tensor,执行推理,没有结果;
(2)通过opencv读取图像,通过cvtColor将BGR转BGRA,把数据(640*640*4)拷贝到输入tensor,执行推理,没有结果;
(3)通过opencv读取图像,将所有数据加上128,再通过cvtColor将BGR转BGRA,把数据(640*640*4)拷贝到输入tensor,执行推理,有输出结果,且结果为正确的;
(之所以做步骤(3),是因为在测试hbDNNResize接口,发现调用hbDNNResize接口后,输出的数据是这样的。)
我的问题是:c++推理接口(python接口没有这个问题),对于NHWC BGR输入数据是必须要做步骤(3)的操作吗?其他格式的数据是否也有类似的要求,能否详细说明?


