triton-inference-server/python_backend
Triton backend that enables pre-process, post-processing and other logic to be implemented in Python.
解決的問題
讓開發者能在不需撰寫任何 C++ 程式碼的情況下,使用 Triton Inference Server 部署以 Python 編寫的機器學習模型。這消除了為自訂 Python 模型邏輯實作複雜 C++ 後端的障礙。
運作方式
開發者建立一個命名為 TritonPythonModel 的 Python 類別,並實作一組特定的生命週期方法。Triton 伺服器隨後載入此 Python 程式碼,並呼叫這些方法來管理模型:
auto_complete_config:若缺少設定檔,可選擇性地定義模型的輸入、輸出與批次設定。initialize:在模型載入時執行一次性的設定與狀態初始化。execute:核心邏輯,模型處理InferenceRequest物件列表,並回傳對應的InferenceResponse物件列表。finalize:在模型卸載時執行清理工作。is_ready:檢查模型是否健康且已準備好處理請求。
適用對象
希望將使用 PyTorch、TensorFlow 或 JAX 等框架的 Python 模型部署至生產級推論伺服器,但又不想學習 C++ 的 AI 工程師與資料科學家。
特色
- 無需 C++:可直接部署 Python 模型。
- 框架無關:支援 PyTorch、TensorFlow、JAX 與 NumPy。
- 解耦模式:支援非同步或解耦方式回傳回應。
- 業務邏輯腳本(BLS):可在 Python 內實作複雜的模型串接與編排。
- GPU 支援:透過 DLPack 提供與 GPU 張量的相容性。
相關
- 專案
- 專案
- 專案
- 專案
- 專案