板端input_tensor初始化例程

参考OE包中的horizon_runtime_sample中的mobilenetv1示例进行板端部署,想要加载一张图片到tensor中,网络的输入为RGB。

请问如何将RGB的图片输入到网络的输入input_tensor中。

参考函数

int32_t read_image_2_tensor_as_nv12(std::string &image_file,-
hbDNNTensor *input_tensor) {

企业微信截图_16790323742444_20230317135401.png

感谢您使用地平线芯片算法工具链,最近我们在收集大家的满意度反馈,欢迎您填写问卷,详细情况可见:https://developer.horizon.ai/forumDetail/146177053698464782

您好,可以参考horizon runtime sample下的01_api_tutorial/tensor源代码,其中prepare_image_data函数的作用类似于00 quick start里的read image 2 tensor as nv12.

感谢回复。

网络的输入要求是RGB,但是看到示例中prepare_image_data全部都是YUV的NV12格式的,对应的prepare_tensor也是nv1。是不是要求输入数据必须是nv12的呢?如果是RGB的怎么操作?

需要准备一个RGB的tensor

在api_tutorial中,prepare_tensor和prepare_image_data都有针对RGB的代码示例,您可以点开tensor_example.cc,并且使用快捷键ctrl+f,输入大写的RGB查找相关内容。

RGB的tensor准备,直接就按有效数据的height*width*3即可。

我按照例程准备RGB的tensor还是无法推理得到正确的结果,请问能否提供RGB板端输入的预处理例程呢?查看示例中都是准备NV12格式的。

那您可以先检查一下模型转换、编译时的yaml配置文件有没有出错,比如归一化参数的配置,train/rt等各种格式的配置等等。