01 前言
由于部署时数据来源的硬件不同以及应用开发的高效性要求,往往会使得在板端部署阶段的数据准备操作与训练时有所差异,导致在同样的输入下,量化模型的输出结果和板端部署模型的输出结果不一致。
本文将基于开发者社区中已经发布的地平线 bev 参考算法板端输入数据准备教程,以 bev_mt_lss 参考算法为例,介绍 PC 端和板端输出一致性验证的过程。
02 PC 端输入获取
PC 端输入的获取主要包括输入数据准备、输出节点配置和运行推理脚本这三个步骤,下面将对其进行逐一介绍。
2.1 输入数据准备
bev_mt_lss 参考算法的 PC 端输入为:
获取到 6V 图像和 homography 矩阵后,配置 config 文件的 infer_cfg 字段中输入路径参数 infer_inputs:
infer_cfg = dict(
model=model,
infer_inputs=dict(
#6V图像的存放路径
imagedir="./tmp_orig_data/nuscenes/infer_imgs/single_frame/imgs",
#homography矩阵的存放路径
homo="./tmp_orig_data/nuscenes/infer_imgs/single_frame/homo/ego2img.npy",
),
...
)
bev 参考算法的输入的 6V 图像的有顺序的,所以需要在 config 文件的 process_inputs 函数中定义输入图像的顺序,如下所示:
def process_inputs(infer_inputs, transforms=None):
resize_size = resize_shape[1:]
input_size = val_data_shape[1:]
ori