ONNX
2024年3月26日 (火) 08:31時点におけるAdministrator (トーク | 投稿記録)による版
概要
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化すると謎に高速化されることがあります。
関連項目
- Microsoft Olive = ONNX形式に変換するツール