onnx/tensorflow-onnx

Convert TensorFlow, Keras, Tensorflow.js and Tflite models to ONNX

何を解決するか

TensorFlowエコシステムの機械学習モデルをONNX(Open Neural Network Exchange)形式に変換できるようにします。これにより、TensorFlow、Keras、TensorFlow.js、またはTFLiteで訓練されたモデルを、ONNXをサポートするさまざまなランタイムやハードウェアアクセラレータ上で実行可能になり、特定のフレームワークに縛られるという制約を回避できます。

動作方法

このツールは、TensorFlowの演算子をONNXの同等演算子にマッピングするためのコマンドラインインターフェース(CLI)とPython APIを提供します。SavedModel、チェックポイント、graphdefファイル、TFLite、TensorFlow.jsモデルなど、複数の入力形式をサポートしています。ユーザーは、特定のランタイムとの互換性を確保するために、対象のONNX opsetバージョンを指定でき、Windows MLなどの特定プラットフォーム用のワークアラウンドも適用可能です。

対象ユーザー

TensorFlowベースのモデルを再訓練せずに、さまざまな環境やランタイム(例:ONNX Runtime)にデプロイする必要がある機械学習エンジニアや開発者。

特徴

  • 広範なフォーマット対応:TensorFlow 2.x、Keras、TFLite、TensorFlow.jsからのモデル変換をサポート。
  • 柔軟な変換:迅速な変換用のCLIと、ワークフローへの統合用のPython APIの両方を提供。
  • opset制御:ONNX opsetバージョン(opset-14~18)を指定可能。
  • 大規模モデル対応:2 GBを超えるモデルの変換に外部テンソルストレージ形式をサポート。
  • カスタマイズ可能:カスタム演算子の処理、画像フォーマットの転置(NHWCからNCHW)、プラットフォーム固有のワークアラウンドを適用可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト