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 Script 與 ONNX 圖之間相互轉換。此外,還包含一個執行時沙盒(shim),支援「急切模式」評估,讓開發者能直接在 Python 中使用 ONNX Runtime 執行運算子,來執行與除錯函數。
適用對象
需要建立、修改或最佳化 ONNX 模型及其底層函數的 AI 開發者與機器學習工程師。
主要特色
- 雙向轉換: 支援在基於 Python 的 ONNX Script 與 ONNX 圖之間相互轉換。
- 急切模式除錯: 可立即評估函數,無需匯出完整模型即可驗證中間結果。
- ONNX 最佳化器: 內建常數摺疊與死碼消除工具,以提升模型效能。
- ONNX 重寫器: 支援以使用者定義的重寫規則取代特定圖形模式,實現圖層級最佳化。
相關
- 專案
- 專案
- 專案
- 專案
- 專案