其他平台转换onnx模型时可能对其format版本(即IR版本)有要求,目前yolov11环境中将pytorch模型转换输出的onnx模型format版本为onnx v9,而在其他平台部署测试的需求为onnx v8。起初我们是想通过降低pytorch来控制format版本,而最近发现了onnx库中其实可以直接修改输出模型的format版本,代码如下:
(1)查看当前onnx模型的版本
import onnx
# 加载ONNX模型
model_path = "path/to/your/best.onnx"
model = onnx.load(model_path)
# 获取模型的元数据属性
metadata_props = {prop.key: prop.value for prop in model.metadata_props}
# 输出模型的元数据属性
print(f"Model metadata properties: {metadata_props}")
# 获取IR版本
ir_version = model.ir_version
print(f"IR version of the model: {ir_version}")
(2)修改当前onnx模型的版本
model = onnx.load("best.onnx")
model.ir_version = 8
onnx.save_model(model, "best_v9.onnx")
原文出自于: https://www.bilibili.com/read/cv18982701/