文章目錄
- 啥是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為例):