使用amct_onnx进行量化时报错
收藏回复举报
使用amct_onnx进行量化时报错
t('forum.solved') 已解决
发表于2024-08-19 15:56:14
0 查看

我的开发环境:

true onnx==1.9.0 onnxruntime==1.8.0

我的目标:

生成一个int8量化的yolov5 om模型

我的方案

参考链接

使用

bash pth2onnx.sh --tag 6.0 --model yolov5s --nms_mode nms_op

命令将pt文件转化为onnx模型 使用amct命令将onnx模型量化 使用atc命令将onnx模型转化为om

遇到的问题

运行

amct_onnx calibration --model ./model/yolov5s.onnx --save_path ./results/yolov5s_int8 --input_shape "image:1,3,640,640;image_info:640,640,640,640"  --data_dir "./data/image/;./data/img_info/"  --data_types "float32;float32"

命令时遇到报错

Traceback (most recent call last):
  File "/usr/local/python-3.9.10/bin/amct_onnx", line 8, in <module>
    sys.exit(main())
  File "/usr/local/python-3.9.10/lib/python3.9/site-packages/amct_onnx/cmd_line_tools/command.py", line 140, in main
    calibration_function(args_var)
  File "/usr/local/python-3.9.10/lib/python3.9/site-packages/amct_onnx/cmd_line_tools/command.py", line 103, in calibration_function
    evaluator.calibration(modified_model)
  File "/usr/local/python-3.9.10/lib/python3.9/site-packages/amct_onnx/cmd_line_tools/command.py", line 50, in calibration
    for data_map in data_handler.load_data(
  File "/usr/local/python-3.9.10/lib/python3.9/site-packages/amct_onnx/common/cmd_line_utils/data_handler.py", line 59, in load_data
    data_input = load_bin_data(data_file_name, data_types[index], data_shapes[index])
  File "/usr/local/python-3.9.10/lib/python3.9/site-packages/amct_onnx/common/cmd_line_utils/data_handler.py", line 92, in load_bin_data
    return np.fromfile(data_file_name, np_type_mapping.get(data_types)).reshape(data_shapes)
ValueError: cannot reshape array of size 107520000 into shape (1,3,640,640)

请教一下我的方案是否可行,以及我遇到的问题该如何解决。对于107520000这个数值的来源我查阅了一些资料仍然不清除。

我要发帖子