ONNX
ONNX(英語:Open Neural Network Exchange)是一種針對機器學習所設計的開放式的文件格式,用於存儲訓練好的模型。它使得不同的人工智能框架(如Pytorch、MXNet)可以採用相同格式存儲模型數據並交互。 ONNX的規範及代碼主要由微軟,亞馬遜,Facebook和IBM等公司共同開發,以開放源代碼的方式託管在Github上。[2][3][4] 目前官方支持加載ONNX模型並進行推理的深度學習框架有: Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK,並且 TensorFlow 也非官方的支持ONNX。
原作者 | Facebook, Microsoft |
---|---|
開發者 | Linux基金會 |
首次發布 | 2017年9月 |
當前版本 | 1.17.0[1](2024年10月1日) |
源代碼庫 | |
編程語言 | C++, Python |
操作系統 | Windows, Linux |
類型 | 人工智能生態圈 |
許可協議 | 最初為MIT許可證 後改為Apache許可證2.0 |
網站 | 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 Runtime
編輯ONNX Runtime(縮寫:ORT [10])是一個開源項目,旨在加速各種環境中 ONNX 模型的推理和學習[11]。無論框架、作業系統或硬體為何,ONNX模型都可以透過單一執行時間API使用[12]。它還根據部署環境自動進行最佳化[13]。 ONNX Runtime的設計策略是實現加速器運行時抽象化和效能最佳化,並透過自動劃分ONNX模型並使用最佳加速器執行子模型來實現這一目標[14]。
參考文獻
編輯- ^ Release 1.17.0. 2024年10月1日 [2024年10月22日].
- ^ onnx: Open Neural Network Exchange, onnx, [2017-09-11], (原始內容存檔於2017-09-09)
- ^ Microsoft, Facebook Partner on AI Framework Interoperability.
- ^ Model Server for Apache MXNet introduces ONNX support and Amazon CloudWatch integration. [8 February 2018]. (原始內容存檔於2019-02-17).
- ^ Codemod Toffee -> ONNX, toffee -> onnx. Change file names to match · pytorch/pytorch@6d8d5ba. GitHub. [2021-10-12]. (原始內容存檔於2021-10-27) (英語).
- ^ A model exporter for PyTorch by ezyang · Pull Request #2565 · pytorch/pytorch. GitHub. [2021-10-12]. (原始內容存檔於2021-10-27) (英語).
- ^ LF AI & Data Day – ONNX Community Meetup – Silicon Valley. LF Online Community (英語).
- ^ Zetane Systems Joins the ONNX Community to Accelerate Open-Source Innovation and Universal…. 14 October 2020.
- ^ 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] (美國英語).
- ^ "ONNX Runtime (ORT)" Welcome to ONNX Runtime (ORT). ONNX Runtime.
- ^ "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.
- ^ "It enables acceleration of machine learning inferencing across all of your deployment targets using a single set of API." About. ONNX Runtime.
- ^ "ONNX Runtime automatically parses through your model to identify optimization opportunities and provides access to the best hardware acceleration available." About. ONNX Runtime.
- ^ "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.
外部鏈接
編輯- Boyd, Eric. Microsoft and Facebook create open ecosystem for AI model interoperability – Microsoft Cognitive Toolkit. Microsoft Cognitive Toolkit. 2017-09-07 [2017-10-11] (美國英語).
- onnx: Open Neural Network Exchange, Open Neural Network Exchange, 2017-10-11 [2017-10-11]
這是一篇與電腦相關的小作品。您可以透過編輯或修訂擴充其內容。 |