microsoft/onnxscript

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

解決する課題

ONNX Script は、ONNX モデルの作成、デバッグ、最適化のプロセスを簡素化します。複雑な ONNX グラフを手動で構築する代わりに、開発者は簡潔な Python ベースの構文を使用して関数やモデルを定義し、それらを有効な ONNX グラフに変換できます。

仕組み

このプロジェクトは、Python の抽象構文木(AST)を走査して、Python 関数(@script デコレータでマークされたもの)を ONNX グラフに変換するコンバータを提供します。また、逆方向のプロセスもサポートしており、ONNX モデルを ONNX Script に変換して可読性を高めます。デバッグを支援するために、ONNX Runtime または Python 専用のリファレンス評価器を使用してこれらの関数を「イージアモード」で評価できるランタイムシムが含まれています。

対象ユーザー

ONNX モデルの作成または修正が必要で、生のグラフ構築と比較して、より自然でデバッグ可能かつ表現力豊かな定義方法を探している AI 開発者や ML エンジニアです。

ハイライト

  • Pythonic な作成: Python のサブセットを使用して ONNX 関数を定義し、より簡潔でシンプルな体験を実現します。
  • 双方向変換: Python 関数を ONNX グラフに変換し、その逆もサポートします。
  • イージアモード: 関数の即時評価を可能にし、中間結果のデバッグと検証を高速化します。
  • 最適化ツール: 定数折りたたみとデッドコードエリミネーションのためのオプティマイザ、およびユーザー定義ルールに基づいて特定のグラフパターンを置き換えるリライターが含まれています。

関連

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