PINTO0309/onnx2tf
A tool for converting ONNX files to LiteRT/TFLite/TensorFlow, PyTorch native code (nn.Module), TorchScript (.pt), state_dict (.pt), Exported Program (.pt2), and Dynamo ONNX. It also supports direct conversion from LiteRT to PyTorch.
解決的問題
onnx2tf 是一個旨在將 AI 模型從 ONNX 格式轉換為各種其他框架的轉換工具。它主要透過將 ONNX 檔案轉換為 LiteRT(原 TFLite)和 TensorFlow 來解決在行動或邊緣裝置上部署模型的問題,同時也提供了將模型轉換為原生 PyTorch 程式碼、TorchScript 和其他 PyTorch 相容格式的路徑。
運作方式
此工具提供兩條主要的轉換執行路徑:
flatbuffer_direct(預設): 一條繞過傳統 TensorFlow 轉換過程的高速路徑。它執行 ONNX 圖預處理並直接降低到 ModelIR,然後直接匯出為 FlatBuffer(TFLite)檔案。這條路徑可能比傳統路徑快得多(最高可達 100 倍)。tf_converter(傳統): 使用標準 TensorFlow Lite Converter 的相容性路徑。
除了 TFLite,此工具還可以產生原生 PyTorch nn.Module 套件,包括 state_dict 檔案和 Exported Programs,允許模型在 PyTorch 中以 eager 推論模式執行。
適用對象
它面向需要在不同深度學習框架之間移植模型的 ML 工程師和開發人員,特別是從 ONNX 轉換到 TensorFlow/LiteRT 或 PyTorch,以確保與特定硬體加速器或部署目標的相容性。
亮點
- 多框架支援: 將 ONNX 轉換為 LiteRT/TFLite、TensorFlow 和原生 PyTorch 程式碼。
- 高效能:
flatbuffer_direct後端比傳統轉換方法提供巨大的加速。 - 全面的運算子支援: 為
tf_converter路徑支援大量 ONNX 運算子。 - 準確性驗證: 可以產生準確性報告,將轉換後模型的輸出與原始 ONNX 模型進行比較。
- 雙向轉換: 支援從 LiteRT 直接轉換回 PyTorch。
相關
- 專案
- 專案
- 專案
- 專案
- 專案