我在使用文档提供的例子,对 MobilNetv2 的 onnx 模型进行量化时,可以成功,如下图

temp2025 文件夹里面包含了一堆 .bin 文件,和一个 modified_model.onnx 。
results 包含一个 fake_quant_model 和一个 deploy_model 以及三个配置文件,分别说明了 量化前后算子的对应关系,量化的配置,和量化模型前后的差别。
于是我开始用 10 张图片对yolov8 模型进行量化,在写完前后处理,以及计算 Map50之后,我开始跑代码,结果报错,控制台显示如下
gqy@gqy-virtual-machine:yolov8$ python3 yolov8_det_accuracy_based_auto_calibration.py
[INFO] Do original model test:
100%|█████████████| 10/10 [00:08<00:00, 1.24it/s]
<class 'numpy.float64'> 0.8766010317460317
2025-01-10 17:02:11,239 - INFO - [AMCT]:[Config]: Generate config file:/home/gqy/docker/ai/CANN_AMCT/projects/yolov8/tmp/config.json success!
2025-01-10 17:02:11,240 - INFO - [AMCT]:[create_quant_config]: Create quant config file /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/tmp/config.json success.
evaluate /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/model/ForbiddenGrazing.onnx
100%|█████████████| 10/10 [00:07<00:00, 1.26it/s]
<class 'numpy.float64'> 0.8766010317460317
2025-01-10 17:02:19,377 - INFO - [AMCT]:[auto_calibration]: original evaluation accurcay: <bound method Msg.map50 of <utils.util.Msg object at 0x7e1fe43f48b0>>
2025-01-10 17:02:19,876 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:02:20,201 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.transpose_fold_pass.TransposeFoldPass'>
2025-01-10 17:02:20,207 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_mul_fusion_pass.BnMulFusionPass'>
2025-01-10 17:02:20,213 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_add_fusion_pass.BnAddFusionPass'>
2025-01-10 17:02:20,219 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.conv_bn_fusion_pass.ConvBnFusionPass'>
2025-01-10 17:02:20,224 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.weight_calibration.WeightsCalibrationPass'>
2025-01-10 17:02:23,092 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_act_calibration.InsertActCalibrationPass'>
2025-01-10 17:02:23,957 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.set_fusion_info.SetFusionInfoPass'>
2025-01-10 17:02:23,958 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:02:24,651 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/temp20250110170211240364/modified_model.onnx
calibration /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/temp20250110170211240364/modified_model.onnx
100%|█████████████| 10/10 [11:33<00:00, 69.32s/it]
<class 'numpy.float64'> 0.8771565873015872
2025-01-10 17:14:36,163 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,784 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,837 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,838 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,838 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,839 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,839 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,855 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,856 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,856 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,856 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,911 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,912 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,006 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,007 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,047 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,054 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,068 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,068 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,069 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,069 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,070 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,070 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,081 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,082 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,083 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,083 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,083 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,084 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,084 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,085 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,097 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,100 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,121 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,122 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,122 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,123 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,123 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,141 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,141 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,184 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,186 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,187 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,188 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,188 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,189 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,189 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,190 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,193 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,193 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,194 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,216 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,217 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,217 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,217 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,218 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,218 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,219 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,219 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,220 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,220 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,220 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,221 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,221 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,222 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,222 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,222 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,223 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,223 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,224 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,224 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,225 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,225 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,225 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,226 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,226 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,226 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,227 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,227 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,227 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,228 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,228 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,229 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,229 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,229 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,230 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,231 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,232 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,233 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,234 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,256 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,257 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,257 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,257 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,258 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,259 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,259 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,259 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,260 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,260 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,260 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,262 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,262 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,263 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,263 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,264 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,266 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,266 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,267 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,267 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,295 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,296 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,297 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,297 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,298 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,299 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,300 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,325 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,325 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,326 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,326 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,326 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,327 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,327 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,583 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.update_fusion_info.UpdateFusionInfoPass'>
2025-01-10 17:14:37,623 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.delete_bypass_node_pass.DeleteActCalibrationPass'>
2025-01-10 17:14:38,772 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.gemm_transb_optimize_pass.GemmTransBOptimizePass'>
2025-01-10 17:14:38,783 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_quant_pass.InsertQuantPass'>
2025-01-10 17:14:38,947 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_dequant_pass.InsertDequantPass'>
2025-01-10 17:15:03,345 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.mult_output_with_quant_optimizer.MultQuantOptimizerPass'>
2025-01-10 17:15:03,362 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.quant_fusion_pass.QuantFusionPass'>
2025-01-10 17:15:03,384 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.weight_quant_pass.WeightQuantPass'>
2025-01-10 17:15:07,892 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bias_quant_pass.BiasQuantPass'>
2025-01-10 17:15:07,940 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.gen_fusion_json.GenFusionJsonPass'>
2025-01-10 17:15:08,030 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:08,205 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.replace_rnn_pass.ReplaceRNNPass'>
2025-01-10 17:15:08,221 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:08,305 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/yolov8_deploy_model.onnx
2025-01-10 17:15:08,306 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_rnn_fake_quant_pass.InsertRNNFakeQuantPass'>
2025-01-10 17:15:08,323 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.update_ascendop_pass.UpdateAscendOpPass'>
2025-01-10 17:15:08,344 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.weight_fakequant_pass.WeightFakequantPass'>
2025-01-10 17:15:10,122 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bias_fakequant_pass.BiasFakequantPass'>
2025-01-10 17:15:10,167 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:11,394 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/yolov8_fake_quant_model.onnx
evaluate /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/yolov8_fake_quant_model.onnx
100%|█████████████| 10/10 [00:33<00:00, 3.37s/it]
<class 'numpy.float64'> 0.8814899206349205
2025-01-10 17:15:45,739 - INFO - [AMCT]:[auto_calibration]: global calibration accuracy: <bound method Msg.map50 of <utils.util.Msg object at 0x7e1fe42d76a0>>
2025-01-10 17:15:45,753 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:46,224 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.transpose_fold_pass.TransposeFoldPass'>
2025-01-10 17:15:46,232 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_mul_fusion_pass.BnMulFusionPass'>
2025-01-10 17:15:46,238 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_add_fusion_pass.BnAddFusionPass'>
2025-01-10 17:15:46,244 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.conv_bn_fusion_pass.ConvBnFusionPass'>
2025-01-10 17:15:46,250 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:47,666 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/temp20250110170211240364/fused_model.onnx
2025-01-10 17:15:48,402 - INFO - [AMCT]:[Graph]: Doing whole model dump...
Traceback (most recent call last):
File "/home/gqy/docker/ai/CANN_AMCT/projects/yolov8/yolov8_det_accuracy_based_auto_calibration.py", line 384, in <module>
main()
File "/home/gqy/docker/ai/CANN_AMCT/projects/yolov8/yolov8_det_accuracy_based_auto_calibration.py", line 360, in main
amct.accuracy_based_auto_calibration(
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/common/utils/check_params.py", line 43, in wrapper
return func(*args, **kwargs)
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/accuracy_based_auto_calibration.py", line 274, in accuracy_based_auto_calibration
auto_calibration_controller.run()
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/common/auto_calibration/accuracy_based_auto_calibration_base.py", line 295, in run
self.ranking_info = self.get_ranking_info()
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/accuracy_based_auto_calibration.py", line 181, in get_ranking_info
ranking_info = auto_calibration_helper.calc_ranking_info()
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/utils/auto_calibration_helper.py", line 255, in calc_ranking_info
single_layer_net = self.generate_single_model(
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/utils/auto_calibration_helper.py", line 323, in generate_single_model
copy_node.input[idx] = INPUT + str(idx)
IndexError: list assignment index (3) out of range
gqy@gqy-virtual-machine:yolov8$

temp2025 文件夹 除了 modified_model 和一些 .bin文件外 ,相比MobileNetV2 还多了个 fused_model 不知道是什么模型,
results 里相比MobileNetV2 少了两个配置文件。
但这个 fake_model 是可以推理的, 使用ATC 也可以转换成 om文件,所以就比较迷惑,我这到底算量化成功了还是失败了???
报错信息显示的那行是 生成 single_layer 的 onnx 模型的,不太清楚这个有什么用 ????文档里并没有提到呀??
我在使用文档提供的例子,对 MobilNetv2 的 onnx 模型进行量化时,可以成功,如下图
temp2025 文件夹里面包含了一堆 .bin 文件,和一个 modified_model.onnx 。
results 包含一个 fake_quant_model 和一个 deploy_model 以及三个配置文件,分别说明了 量化前后算子的对应关系,量化的配置,和量化模型前后的差别。
于是我开始用 10 张图片对yolov8 模型进行量化,在写完前后处理,以及计算 Map50之后,我开始跑代码,结果报错,控制台显示如下
gqy@gqy-virtual-machine:yolov8$ python3 yolov8_det_accuracy_based_auto_calibration.py
[INFO] Do original model test:
100%|█████████████| 10/10 [00:08<00:00, 1.24it/s]
<class 'numpy.float64'> 0.8766010317460317
2025-01-10 17:02:11,239 - INFO - [AMCT]:[Config]: Generate config file:/home/gqy/docker/ai/CANN_AMCT/projects/yolov8/tmp/config.json success!
2025-01-10 17:02:11,240 - INFO - [AMCT]:[create_quant_config]: Create quant config file /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/tmp/config.json success.
evaluate /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/model/ForbiddenGrazing.onnx
100%|█████████████| 10/10 [00:07<00:00, 1.26it/s]
<class 'numpy.float64'> 0.8766010317460317
2025-01-10 17:02:19,377 - INFO - [AMCT]:[auto_calibration]: original evaluation accurcay: <bound method Msg.map50 of <utils.util.Msg object at 0x7e1fe43f48b0>>
2025-01-10 17:02:19,876 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:02:20,201 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.transpose_fold_pass.TransposeFoldPass'>
2025-01-10 17:02:20,207 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_mul_fusion_pass.BnMulFusionPass'>
2025-01-10 17:02:20,213 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_add_fusion_pass.BnAddFusionPass'>
2025-01-10 17:02:20,219 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.conv_bn_fusion_pass.ConvBnFusionPass'>
2025-01-10 17:02:20,224 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.weight_calibration.WeightsCalibrationPass'>
2025-01-10 17:02:23,092 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_act_calibration.InsertActCalibrationPass'>
2025-01-10 17:02:23,957 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.set_fusion_info.SetFusionInfoPass'>
2025-01-10 17:02:23,958 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:02:24,651 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/temp20250110170211240364/modified_model.onnx
calibration /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/temp20250110170211240364/modified_model.onnx
100%|█████████████| 10/10 [11:33<00:00, 69.32s/it]
<class 'numpy.float64'> 0.8771565873015872
2025-01-10 17:14:36,163 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,784 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,837 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,838 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,838 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,839 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,839 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,855 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,856 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,856 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,856 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,911 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:36,912 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,006 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,007 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,047 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,054 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,068 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,068 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,069 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,069 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,070 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,070 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,081 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,082 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,083 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,083 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,083 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,084 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,084 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,085 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,097 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,100 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,121 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,122 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,122 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,123 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,123 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,141 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,141 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,184 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,186 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,187 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,188 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,188 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,189 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,189 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,190 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,193 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,193 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,194 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,216 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,217 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,217 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,217 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,218 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,218 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,219 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,219 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,220 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,220 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,220 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,221 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,221 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,222 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,222 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,222 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,223 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,223 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,224 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,224 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,225 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,225 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,225 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,226 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,226 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,226 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,227 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,227 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,227 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,228 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,228 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,229 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,229 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,229 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,230 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,231 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,232 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,233 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,234 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,256 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,257 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,257 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,257 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,258 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,259 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,259 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,259 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,260 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,260 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,260 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,262 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,262 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,263 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,263 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,264 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,266 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,266 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,267 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,267 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,295 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,296 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,297 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,297 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,298 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,299 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,300 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,325 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,325 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,326 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,326 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,326 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,327 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,327 - WARNING - [AMCT]:[AMCT]: fakequant_precision_mode does not exist in the record file
2025-01-10 17:14:37,583 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.update_fusion_info.UpdateFusionInfoPass'>
2025-01-10 17:14:37,623 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.delete_bypass_node_pass.DeleteActCalibrationPass'>
2025-01-10 17:14:38,772 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.gemm_transb_optimize_pass.GemmTransBOptimizePass'>
2025-01-10 17:14:38,783 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_quant_pass.InsertQuantPass'>
2025-01-10 17:14:38,947 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_dequant_pass.InsertDequantPass'>
2025-01-10 17:15:03,345 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.mult_output_with_quant_optimizer.MultQuantOptimizerPass'>
2025-01-10 17:15:03,362 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.quant_fusion_pass.QuantFusionPass'>
2025-01-10 17:15:03,384 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.weight_quant_pass.WeightQuantPass'>
2025-01-10 17:15:07,892 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bias_quant_pass.BiasQuantPass'>
2025-01-10 17:15:07,940 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.gen_fusion_json.GenFusionJsonPass'>
2025-01-10 17:15:08,030 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:08,205 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.replace_rnn_pass.ReplaceRNNPass'>
2025-01-10 17:15:08,221 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:08,305 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/yolov8_deploy_model.onnx
2025-01-10 17:15:08,306 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.insert_rnn_fake_quant_pass.InsertRNNFakeQuantPass'>
2025-01-10 17:15:08,323 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.update_ascendop_pass.UpdateAscendOpPass'>
2025-01-10 17:15:08,344 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.weight_fakequant_pass.WeightFakequantPass'>
2025-01-10 17:15:10,122 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bias_fakequant_pass.BiasFakequantPass'>
2025-01-10 17:15:10,167 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:11,394 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/yolov8_fake_quant_model.onnx
evaluate /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/yolov8_fake_quant_model.onnx
100%|█████████████| 10/10 [00:33<00:00, 3.37s/it]
<class 'numpy.float64'> 0.8814899206349205
2025-01-10 17:15:45,739 - INFO - [AMCT]:[auto_calibration]: global calibration accuracy: <bound method Msg.map50 of <utils.util.Msg object at 0x7e1fe42d76a0>>
2025-01-10 17:15:45,753 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:46,224 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.transpose_fold_pass.TransposeFoldPass'>
2025-01-10 17:15:46,232 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_mul_fusion_pass.BnMulFusionPass'>
2025-01-10 17:15:46,238 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.bn_add_fusion_pass.BnAddFusionPass'>
2025-01-10 17:15:46,244 - INFO - [AMCT]:[Optimizer]: Do <class 'amct_onnx.optimizer.conv_bn_fusion_pass.ConvBnFusionPass'>
2025-01-10 17:15:46,250 - INFO - [AMCT]:[Graph]: Doing whole model dump...
2025-01-10 17:15:47,666 - INFO - [AMCT]:[Utils]: The model file is saved in /home/gqy/docker/ai/CANN_AMCT/projects/yolov8/results/temp20250110170211240364/fused_model.onnx
2025-01-10 17:15:48,402 - INFO - [AMCT]:[Graph]: Doing whole model dump...
Traceback (most recent call last):
File "/home/gqy/docker/ai/CANN_AMCT/projects/yolov8/yolov8_det_accuracy_based_auto_calibration.py", line 384, in <module>
main()
File "/home/gqy/docker/ai/CANN_AMCT/projects/yolov8/yolov8_det_accuracy_based_auto_calibration.py", line 360, in main
amct.accuracy_based_auto_calibration(
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/common/utils/check_params.py", line 43, in wrapper
return func(*args, **kwargs)
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/accuracy_based_auto_calibration.py", line 274, in accuracy_based_auto_calibration
auto_calibration_controller.run()
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/common/auto_calibration/accuracy_based_auto_calibration_base.py", line 295, in run
self.ranking_info = self.get_ranking_info()
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/accuracy_based_auto_calibration.py", line 181, in get_ranking_info
ranking_info = auto_calibration_helper.calc_ranking_info()
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/utils/auto_calibration_helper.py", line 255, in calc_ranking_info
single_layer_net = self.generate_single_model(
File "/home/gqy/.local/lib/python3.10/site-packages/amct_onnx/utils/auto_calibration_helper.py", line 323, in generate_single_model
copy_node.input[idx] = INPUT + str(idx)
IndexError: list assignment index (3) out of range
gqy@gqy-virtual-machine:yolov8$
temp2025 文件夹 除了 modified_model 和一些 .bin文件外 ,相比MobileNetV2 还多了个 fused_model 不知道是什么模型,
results 里相比MobileNetV2 少了两个配置文件。
但这个 fake_model 是可以推理的, 使用ATC 也可以转换成 om文件,所以就比较迷惑,我这到底算量化成功了还是失败了???
报错信息显示的那行是 生成 single_layer 的 onnx 模型的,不太清楚这个有什么用 ????文档里并没有提到呀??