pnnx/pnnx
PyTorch Neural Network eXchange
解決的問題
PNNX (PyTorch Neural Network eXchange) 解決了 PyTorch 模型互操作性的挑戰。它提供了一種開放標準和模型格式,允許將 PyTorch 模型進行優化並匯出為各種格式以實現高效推理,從而減少對擴充套件的依賴,並簡化從訓練到部署的過渡。
工作原理
PNNX 定義了與 PyTorch 嚴格匹配的計算圖和高階算子。它可以接收 PyTorch 模型(透過 TorchScript 或 ONNX)或其他格式(如 TNN),並將其轉換為優化的 PNNX 格式。從那裡,它可以將模型匯出為可攜式 PNNX 檔案、ONNX-zero 或 ncnn 模型用於部署。
適用對象
需要針對不同硬體或推理引擎優化 PyTorch 模型以進行部署的開發人員和機器學習工程師,特別是那些針對 ncnn 框架的開發者。
亮點
- 多格式支援:將 TorchScript、ONNX 和 TNN 檔案轉換為優化後的模型。
- 圖優化:提供多種優化層級,專門用於精煉推理模型。
- 可攜式二進位檔案:提供適用於 Windows、Linux 和 macOS 的獨立二進位套件,無需 CUDA 或 PyTorch 執行階段環境。
- 靈活匯出:生成包括 PNNX 圖定義、權重以及 PyTorch/pyncnn 推理腳本在內的多种輸出檔案。
相關
- 專案
- 專案
- 專案
- 專案
- 專案