-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_ONNX
nishi_74322014 edited this page Sep 11, 2026
·
1 revision
Open Neural Network Exchange (ONNX)
- 機械学習フレームワーク(FX)間において相互運用を可能にする為の取り組み
- オープンソースの機械学習や人工知能のモデルを表現する為の代表的なフォーマット
- フォーマットとは、モデルを記述する統一インターフェースの提供を指す。
- 2017年9月に、FacebookとMicrosoftが、このプロジェクトを始動した。
- 各フレームワークは学習したモデルをONNX形式で出力する。
- プラットフォームはONNX実行環境を提供し、どこでもモデル推論を実行できる。
推論(評価)に焦点を当て、
- 拡張可能な計算グラフモデル
- 組み込み演算子
- 標準データ型の定義
を提供する。
開発者が複数のFXでのデータのやり取りを簡単に行えるようにする。
- 開発工程や機械学習の高速処理、
- モバイルデバイスでの推論などの特定の段階において、
ONNXを対象に調整すれば、複数のFXにおけるDNNのパフォーマンスを一度に改善できる。
Intermediate Representation (IR)は
ONNXの基本データ型と計算グラフを定義するサブ仕様
- 基本データ型 FLOAT, INT8, BFLOAT16 等
- 入出力 Tensor, Sequence, Map
- 計算グラフ Model, Graph, Node 等の要素
を定義する。
-
IRはONNX Operatorで定義される標準演算子に追加して、
独自の拡張演算子を受け入れられるように設計されている。 -
ビルトイン演算子はサブ仕様 Operator specifications
により3種類の演算子セット(Opset)が定義されている。- ai.onnx(Default
- ai.onnx.ml
- ai.onnx.training
- 様々な環境におけるONNXモデルの推論・学習高速化を目的としたオープンソースプロジェクト
- プラットフォームを問わず単一のRuntime APIを介してONNXモデルを利用できる。
- またデプロイ環境に合わせた最適化を自動でおこなう。
- アクセラレータ・ランタイム抽象化とパフォーマンス最適化の両立を設計方針を掲げており、
ONNXモデルの自動分割と最適アクセラレータによるサブモデル実行によりこれを実現している。
-
ONNX | Home
https://onnx.ai/ -
Open Neural Network Exchange - Wikipedia
https://ja.wikipedia.org/wiki/Open_Neural_Network_Exchange
正誤
- 元 Wiki の「IR」という別ページへの PukiWiki リンクは、 そのようなページは 3 サイトのダンプいずれにも存在せず (元 Wiki 上でリンク切れ)、文脈からは同一ページ内の「IR」節を 指していると読めるため、同節へのリンクとした。
- 「ai.onnx(Default」の閉じ括弧欠落は原文ママ。
補足:ONNX は 2019 年に Linux Foundation(LF AI & Data)配下の プロジェクトとなっている。
Tags: 移行, ONNX, Open Neural Network Exchange, ONNX Runtime, 機械学習, 相互運用, IR, Operator
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。