ONNX

提供: MonoBook
ナビゲーションに移動 検索に移動

ONNX(Open Neural Network Exchange)とは、マイクロソフトが開発を主導している機械学習学習モデルの統一形式です。

概要[編集 | ソースを編集]

ONNXの語源は「Open Neural Network Exchange」であり、日本語に直訳する「オープンなニューラルネットワークの交換」です。

機械学習ライブラリは今なお増え続けており有名どころだけでもTensorflow, PyTorch, scikit-learnなど様々なものが乱立しています。しかもそれらの学習モデルは互換性のない独自形式となっています。Tensorflowで作った学習モデルはTensorflowでしか使えないし、scikit-learnで作った学習モデルはscikit-learnでしか使えません。

この問題を解決すべく

  • 各種独自形式をONNXファイルに変換し
  • Python以外のプログラミング言語でも利用可能にする(ONNX Runtime)

というのがONNXプロジェクトです。

数ある機械学習のライブラリの中でもONNXは「あくまで推論に特化し学習には関与しない」というのが特徴です。 C++, C#, Java, Node.js, Ruby, Pythonなど様々な環境で利用できます。

各種学習モデルをONNXファイルに変換する過程で「データの最適化」が行われるらしく、ONNX化すると謎に高速化されることがあります。

関連項目[編集 | ソースを編集]