开发包版本:openexplorer/ai_toolchain_ubuntu_22_j6_cpu:v3.0.22
问题:
模型转换时发现gridsample精度损失严重,mix量化算法给出的报告如下
2025-06-24 06:28:42,413 INFO ==============================================Merge_Info(cosine-similarity)===============================================
Node max percentile=0.99995 num_bin=1024,max_num_bin=16384
--------------------------------------------------------------------------------------------------------------------------
grid_HzCalibration 0.613669(select) 0.613669 0.613669
..._head_bev_classes/Resize_output_0_HzCalibration 0.964897 0.964723 0.966628(select)
...ne_2d/stem/activate/Relu_output_0_HzCalibration 0.977913 0.977771 0.991709(select)
...1/stage1.0/activate/Relu_output_0_HzCalibration 0.982727 0.990012 0.991005(select)
.../main_conv/activate/Relu_output_0_HzCalibration 0.985232 0.995338(select) 0.989382
/main_head_bev_seg/Concat_output_0_HzCalibration 0.987382 0.995402 0.996113(select)
grid_HzCalibration是gridsample算子中grid的量化算子,从量化表里的scale来看不会损失这么多。
按照我的理解,这个grid被量化以后会导致gridsample的实现从浮点grid版本切换为int16版本
目前怀疑是onnx模型里gridsample的实现使用的是nearest插值,而int16版本的gridsample里mode被强制指定为了bilinear,没有依照onnx模型的插值进行处理
想要确认一下HB_ONNXRuntime/HB_HBIRRuntime对于这种情况的处理方式,以及板端是否支持nearest插值的gridsample
