1. 下载对应的代码、权重和数据集

# yolov5-7.0
https://github.com/ultralytics/yolov5/archive/refs/tags/v7.0.tar.gz

# pt权重复制到yolov5-7.0项目下
https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt
https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n.pt

# 数据集下载
# yolov5 python脚本指定的data命令行参数yaml文件中有数据集的下载链接,如果数据集不存在,脚本会自动下载,也可以提前手动下载放在对应位置,请确保数据集的完整性,否则脚本加载数据集可能会失败。

2. 导入量化补丁

# 复制amct_yolov5.patch到yolov5-7.0项目下
git apply --reject amct_yolov5.patch
# 复制ooqat.cpython-37m-x86_64-linux-gnu.so到yolov5-7.0项目下的utils文件夹中

3. 运行量化推理脚本

# 使用amct calibration量化
python yolov5s_calibration.py --quant

# 使用AUTO模式的混合精度量化
python yolov5s_auto_mix_precision.py --quant

# 使用权重压缩优先的混合精度量化
python yolov5s_weight_compress_mix_precision.py --quant

# 使用yolov5s_custom_mix_config_definition.yaml混精量化配置文件
python yolov5s_custom_mix_precision.py --quant

# 加载量化模型权重,获取伪量化和真量化精度,生成**deploy_model.onnx模型和**quant_param_record.txt
python yolov5_quant_val.py --quantized_config_file ./runs/val/exp**/quant_output/config_file.json --quantized_pt_file ./runs/val/exp**/quant_output/quant_yolov5s.pt

# 以上yolov5s模型使用默认的激活算子为torch.nn.SiLU()
# 量化脚本运行成功打印 Results saved to runs/val/exp**

更多推荐