發布電腦視覺與深度學習框架 Savant 0.2.7

Savant 0.2.7 Python框架已經發布,可以更輕鬆地使用NVIDIA DeepStream解決機器學習相關問題。該框架負責處理 GStreamer 或 FFmpeg 的所有繁重工作,讓您能夠專注於使用聲明性語法 (YAML) 和 Python 函數建立優化的輸出管道。 Savant 可讓您建立在資料中心的加速器(NVIDIA Turing、Ampere、Hopper)和邊緣裝置(NVIDIA Jetson NX、AGX Xavier、Orin NX、AGX Orin、New Nano)上相同運作的管道。透過 Savant,您可以輕鬆地同時處理多個視訊串流,並使用 NVIDIA TensorRT 快速建立可用於生產的視訊分析管道。專案代碼根據 Apache 2.0 許可證分發。

Savant 0.2.7 是 0.2.X 分支中最新的功能變更版本。 0.2.X 分支中的未來版本將僅包含錯誤修復。新功能的開發將在0.3.X分支中進行,基於DeepStream 6.4。該分支將不支援 Jetson Xavier 系列設備,因為 NVIDIA 在 DS 6.4 中不支援它們。

主要創新:

  • 新用例:
    • 使用基於 RT-DETR 變壓器的檢測模型的範例;
    • 使用 CuPy 對 YOLOV8-Seg 進行 CUDA 後處理;
    • PyTorch CUDA 整合到 Savant 管道的範例;
    • 演示使用定向物件。

    發布電腦視覺與深度學習框架 Savant 0.2.7

  • 新功能:
    • 與普羅米修斯整合。該管道可以將執行指標匯出到 Prometheus 和 Grafana 以進行效能監控和追蹤。開發人員可以聲明與系統指標一起導出的自訂指標。
    • 緩衝區適配器 - 在磁碟上實現持久性事務緩衝區,用於在適配器和模組之間移動資料。在它的幫助下,您可以開發高負載管道,這些管道會不可預測地消耗資源並承受流量突發。適配器將其元素和大小資料匯出到 Prometheus。
    • 模型編譯模式。模組現在可以在 TensorRT 中編譯其模型,而無需運行管道。
    • PyFunc 關閉事件處理程序。這個新的 API 允許優雅地處理管道關閉,釋放資源並通知第三方系統關閉已發生。
    • 輸入和輸出處的幀過濾。預設情況下,管道接受包含視訊資料的所有幀。透過輸入和輸出過濾,開發人員可以過濾資料以防止處理。
    • 在 GPU 上對模型進行後處理。借助這項新功能,開發人員可以直接從 GPU 記憶體存取模型輸出張量,而無需將其載入到 CPU 記憶體中,並使用 CuPy、TorchVision 或 OpenCV CUDA 對其進行處理。
    • GPU 記憶體表示函數。在此版本中,我們提供了在 OpenCV GpuMat、PyTorch GPU 張量和 CuPy 張量之間轉換記憶體緩衝區的函數。
    • 用於存取管道隊列使用統計資訊的 API。 Savant允許您在PyFunc之間新增佇列以實現並行處理和緩衝處理。新增的 API 使開發人員可以存取部署在管道中的佇列,並允許他們查詢其使用情況。

在下一個版本 (0.3.7) 中,計劃遷移到 DeepStream 6.4,而不擴展功能。我們的想法是獲得一個與 0.2.7 完全相容的版本,但基於 DeepStream 6.4 和改進的技術,但不會破壞 API 等級的兼容性。

來源: opennet.ru

添加評論