跳转到内容

ONNX

维基百科,自由的百科全书
Open Neural Network Exchange (ONNX)
原作者Facebook, Microsoft
開發者Linux基金会
首次发布2017年9月,​7年前​(2017-09
当前版本1.17.0[1](2024年10月1日)
源代码库 編輯維基數據鏈接
编程语言C++, Python
操作系统Windows, Linux
类型人工智能生态圈
许可协议最初为MIT许可证
后改为Apache许可证2.0
网站onnx.ai/ 编辑维基数据

ONNX(英語:Open Neural Network Exchange)是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch、MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软亚马逊FacebookIBM等公司共同开发,以开放源代码的方式托管在Github上。[2][3][4]  目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorch, MXNetML.NET,TensorRT 和 Microsoft CNTK,并且 TensorFlow 也非官方的支持ONNX。

历史

[编辑]

ONNX最初被命名为Toffee[5],并且由脸书内发布PyTorch的团队开发。[6] 在2017年,ONNX第一个正式版本由脸书与微软共同发布。在此之后,IBM, 华为, 英特尔, AMD, Arm高通 都宣布计划支持ONNX。

2017年10月,微軟宣布將在該計畫中加入其認知工具包Microsoft Cognitive Toolkit和Project Brainwave平台。

2019年11月,ONNX被Linux基金會AI接納為研究生課程。[7]

2020年10月,Zetane Systems成為ONNX生態系統的成員。[8]

意圖

[编辑]

該倡議的目標是:

框架互通性

[编辑]

讓開發人員更輕鬆地在框架之間移動,其中一些框架可能更適合開發過程的特定階段,例如快速訓練、網路架構靈活性或行動裝置上的推理。[9]

共享優化

[编辑]

允許硬體供應商和其他人透過針對ONNX表示同時提高多個框架的人工神经网络的效能。[9]

ONNX Runtime

[编辑]

ONNX Runtime(縮寫:ORT [10])是一個開源項目,旨在加速各種環境中 ONNX 模型的推理和學習[11]。無論框架、作業系統或硬體為何,ONNX模型都可以透過單一執行時間API使用[12]。它還根據部署環境自動進行最佳化[13]。 ONNX Runtime的設計策略是實現加速器運行時抽象化和效能最佳化,並透過自動劃分ONNX模型並使用最佳加速器執行子模型來實現這一目標[14]

参考文献

[编辑]
  1. ^ Release 1.17.0. 2024年10月1日 [2024年10月22日]. 
  2. ^ onnx: Open Neural Network Exchange, onnx, [2017-09-11], (原始内容存档于2017-09-09) 
  3. ^ Microsoft, Facebook Partner on AI Framework Interoperability. 
  4. ^ Model Server for Apache MXNet introduces ONNX support and Amazon CloudWatch integration. [8 February 2018]. (原始内容存档于2019-02-17). 
  5. ^ Codemod Toffee -> ONNX, toffee -> onnx. Change file names to match · pytorch/pytorch@6d8d5ba. GitHub. [2021-10-12]. (原始内容存档于2021-10-27) (英语). 
  6. ^ A model exporter for PyTorch by ezyang · Pull Request #2565 · pytorch/pytorch. GitHub. [2021-10-12]. (原始内容存档于2021-10-27) (英语). 
  7. ^ LF AI & Data Day – ONNX Community Meetup – Silicon Valley. LF Online Community (英语). 
  8. ^ Zetane Systems Joins the ONNX Community to Accelerate Open-Source Innovation and Universal…. 14 October 2020. 
  9. ^ 9.0 9.1 Microsoft and Facebook create open ecosystem for AI model interoperability – Microsoft Cognitive Toolkit. Microsoft Cognitive Toolkit. 2017-09-07 [2017-10-11] (美国英语). 
  10. ^ "ONNX Runtime (ORT)" Welcome to ONNX Runtime (ORT). ONNX Runtime.
  11. ^ "ONNX Runtime is an open source project that is designed to accelerate machine learning across a wide range of frameworks, operating systems, and hardware platforms." About. ONNX Runtime.
  12. ^ "It enables acceleration of machine learning inferencing across all of your deployment targets using a single set of API." About. ONNX Runtime.
  13. ^ "ONNX Runtime automatically parses through your model to identify optimization opportunities and provides access to the best hardware acceleration available." About. ONNX Runtime.
  14. ^ "Design principles ONNX Runtime abstracts custom accelerators and runtimes to maximize their benefits across an ONNX model. ... ONNX Runtime partitions the ONNX model graph into subgraphs that align with available custom accelerators and runtimes." About. ONNX Runtime.

外部鏈接

[编辑]