microsoft/onnxscript

ONNX Script enables developers to naturally author ONNX functions and models using a subset of Python.

何を解決するか

ONNX Script は、開発者が ONNX 関数やモデルを記述、デバッグ、最適化するためのより自然で簡潔な方法を提供します。複雑な ONNX グラフを手動で構築する代わりに、Python のサブセットを使用してモデルを定義できるため、記述性が高くなり、管理が容易になります。

仕組み

このプロジェクトは、Python デコレータ(@script)を使用して Python コードを中間表現に解析し、その後 ONNX グラフ(FunctionProto または ModelProto)に変換します。双方向変換をサポートしており、Python スクリプトと ONNX モデルの間で相互に変換できます。さらに、実行時シャムが含まれており、「イージー モード」での評価を可能にし、ONNX Runtime を使用して演算子を実行しながら、Python で関数を直接実行・デバッグできます。

対象ユーザー

ONNX モデルやその基盤となる関数を作成、変更、最適化する必要がある AI 開発者や機械学習エンジニア。

主な特徴

  • 双方向変換: Python をベースにした ONNX Script と ONNX グラフの間で変換可能。
  • イージー モードでのデバッグ: 完全なモデルをエクスポートせずに、関数の即時評価により中間結果を検証可能。
  • ONNX 最適化ツール: 定数畳み込みと不要コード削除のためのツールを含み、モデルのパフォーマンスを向上。
  • ONNX リライター: グラフレベルの最適化のため、特定のグラフパターンをユーザー定義のリライトルールで置き換え可能。

関連

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