文章目录
- 啥是onnx
- 怎么导出
- 导出之后
啥是onnx
Microsoft 和合作伙伴社区创建了 ONNX 作为表示机器学习模型的开放标准。许多框架(包括 TensorFlow、PyTorch、scikit-learn、Keras、Chainer、MXNet 和 MATLAB)的模型都可以导出或转换为标准 ONNX 格式。 在模型采用 ONNX 格式后,可以在各种平台和设备上运行这些模型。
懂了吧,简单来说就是emmmmm微软干了类似统一度量衡的事情,类似Pytorch,Keras,mxnet的模型都可以导出成onnx的格式。之后放到别的平台上去运行,也就是说,一旦导出成了onnx格式,就跟你之前用的是啥库没关系了哈。
怎么导出
from ultralytics import YOLO
# load a pretrained model (recommended for training)
model = YOLO('best.pt')
# Export the model
success = model.export(format='onnx')
print(success)
导出之后
很神奇的onnx模型可视化
可视化的样子是这个样子的,可以看到每一个模块的Metadata。在这个metadata里面可以看到输入输出维度,还有原本使用的库函数,就像下面这样(这里拿原本的yolo v8m最后的output0 block为例):