算能科技
直播中

飘逸的D

12年用户 782经验值
私信 关注
[问答]

yolov5量化INT8出错怎么处理?

model_deploy.py --mlir yolov5l.mlir --quantize INT8 --calibration_table yolov5l_cali_table --chip bm1684 --tolerance 0.85,0.45 --model yolov5l_bm1684_int8.bmodel
SOPHGO Toolchain v1.2.8-g32d7b3ec-20230802
2023/11/29 15:34:12 - INFO :
  load_config Preprocess args :
    resize_dims           : [512, 512]
    keep_aspect_ratio     : True
    keep_ratio_mode       : letterbox
    pad_value             : 0
    pad_type              : center
    input_dims            : [512, 512]
    --------------------------
    mean                  : [0.0, 0.0, 0.0]
    scale                 : [0.0039216, 0.0039216, 0.0039216]
    --------------------------
    pixel_format          : rgb
    channel_format        : nchw
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
SourceURL:file:///home/jayen/下载/se5使用测试.docx
===group_idx: 13move tensor onnx::Pow_649_Mul from timestep 1 to timestep 6merge timestep 7 to timestep 6
merge timestep 8 to timestep 7
merge timestep 9 to timestep 8
merge timestep 10 to timestep 9
merge timestep 11 to timestep 10
===group idx: 48
merge timestep 1 to timestep 0
==---------------------------==
Run GroupDataMoveOverlapPass :
    Overlap data move between two layer group
==---------------------------==
GmemAllocator use FitFirstAssign
[Success]: tpuc-opt yolov5l_bm1684_int8_sym_tpu.mlir --mlir-disable-threading --strip-io-quant="quant_input=False quant_output=False" --chip-tpu-optimize --weight-reorder  --subnet-divide="dynamic=False" --op-reorder --layer-group="opt=2" --address-assign -o yolov5l_bm1684_int8_sym_final.mlir
[Running]: tpuc-opt yolov5l_bm1684_int8_sym_final.mlir --codegen="model_file=yolov5l_1684_int8.bmodel" -o /dev/null
bmcpu init: skip cpu_user_defined
Cannot open libusercpu.so, disable user cpu layer.
in cmodel, enable profile.
FW INFO: D4 without w stride case
FW INFO: D4 without w stride case
FW INFO: D4 without w stride case
FW INFO: n_slice 1, h_slice 24
FW INFO: D4 without w stride case
FW INFO: n_slice 1, h_slice 64
ASSERT_FS /workspace/Sophgo/Codes/nntoolchain/TPU1684/firmware_core/src/atomic/atomic_tensor_arithmetic_fix8b_gen_cmd.c: atomic_tensor_arithmetic_fix8b_gen_cmd_: 140: tensor_dim[3] > 0
ASSERT info: none.
Obtained 10 stack frames.
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(print_trace+0x19) [0x7f2e6bb5e417]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(+0xc9740) [0x7f2e6b94c740]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(atomic_tensor_arithmetic_fix8b_gen_cmd_ext+0xad) [0x7f2e6b94d118]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(atomic_tensor_arithmetic_fix8b_gen_cmd+0xc8) [0x7f2e6b94d53d]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(+0x24c2f2) [0x7f2e6bacf2f2]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(general_binary_fix8b_local+0x414) [0x7f2e6bad0afa]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(+0x24f3ee) [0x7f2e6bad23ee]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684.so(nodechip_broadcast_binary_fix8b_forward_local+0x570) [0x7f2e6bad2c81]
tpuc-opt(+0x498648) [0x556568685648]
tpuc-opt(+0x411079) [0x5565685fe079]
Traceback (most recent call last):
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/tools/model_deploy.py", line 288, in
    tool.build_model()
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/tools/model_deploy.py", line 202, in build_model
    self.op_divide
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/utils/mlir_shell.py", line 154, in mlir_to_model
    _os_system(cmd)
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/utils/mlir_shell.py", line 50, in _os_system
    raise RuntimeError("[!Error]: {}".format(cmd_str))
RuntimeError: [!Error]: tpuc-opt yolov5l_bm1684_int8_sym_final.mlir --codegen="model_file=yolov5l_1684_int8.bmodel" -o /dev/null
      

回帖(1)

石玉兰

2024-1-11 09:57:59
从您提供的命令行输出看,可能是以下几个原因导致出错:

1. 参数错误:请确保输入的选项和参数正确并且完整。比如,`--quantize`选项需要一个值,这个值应为`INT8`。

2. 依赖库问题:确保您的环境中安装了正确的依赖库,并且版本兼容。yolov5需要的依赖库版本与您安装的版本是否一致。

3. 模型文件问题:您可能没有正确地指定模型文件路径或者模型文件损坏。请确保模型文件存在,并且文件路径正确。

4. 硬件兼容性问题:您所使用的硬件是否兼容INT8量化操作。如果您的硬件不支持INT8量化,可能会导致出错。请检查您的硬件文档或者与硬件提供商联系以确认硬件的兼容性。

5. 训练数据问题:量化过程中需要使用校准表(calibration table)来估计量化误差,以生成量化模型。请确保提供的校准表正确且与训练数据匹配。

如果您能提供更详细的错误信息或者日志输出,我可以提供更具体的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分