ONNX(Open Neural Network Exchange ):开放式神经网络交换

龚跃
2023-12-01

ONNX(Open Neural Network Exchange )

是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移;

1. 是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch、MXNet)可以采用相同格式存储模型数据并交互

2. 是微软和Facebook携手开发的开放式神经网络交换工具,也就是说不管用什么框架训练,只要转换为ONNX模型,就可以放在其他框架上面去inference

这是一种统一的神经网络模型定义和保存方式,除了tensorflow之外的其他框架,官方应该都对ONNX做了支持,而ONNX自己开发了对tensorflow的支持。

ONNX的规范及代码主要由微软,亚马逊,Facebook和IBM等公司共同开发,以开放源代码的方式托管在Github上。

目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK,并且 TensorFlow 也非官方的支持ONNX。

ONNX的第一个正式版本(v1.0)发布于2017年12月。

参考

  1. https://arleyzhang.github.io/articles/7f4b25ce/
  2. https://zh.wikipedia.org/wiki/ONNX
  3. https://www.jianshu.com/p/65cfb475584a
 类似资料: