videoflow/videoflow
Python framework that facilitates the quick development of complex video analysis applications and other series-processing based applications in a multiprocessing environment.
解決的問題
Videoflow 是一個用於建立分散式影片與串流處理管道的框架。開發者只需定義一次處理圖(有向無環圖),即可在本機用於開發,或在 Kubernetes 上用於生產擴展,無需更動程式碼。
工作原理
- 圖形基礎架構:使用者將管道描述為一組生產者、處理器與消費者。
- 分散式執行:圖中的每個節點皆以獨立的工作進程執行(本機為子程序,Kubernetes 上為 Pod),透過 NATS JetStream 訊息代理進行通訊。
- 節點通訊:每個節點將其輸出發布至特定的代理主題,並訂閱其父節點的輸入,進而支援複雜的拓撲結構,如扇出與多父節點合併。
- 部署:框架會自動將圖編譯為 Kubernetes 清單,包含 GPU 排程、健康檢查與自動擴展。
適用對象
- 建構高吞吐量影片處理應用的開發者。
- 需要在分散式環境中部署電腦視覺模型(物件偵測、追蹤、姿態估計)的 ML 工程師。
- 需要從本機原型開發無縫過渡至 Kubernetes 基礎的生產擴展的團隊。
特色亮點
- 混合執行:無需修改程式碼,即可在同一管道上於本機或 Kubernetes 上執行。
- 語言無關:只要元件以容器映像形式發佈,支援任何語言撰寫的元件。
- GPU 整合:內建 GPU 排程支援,包含處理 NVIDIA 裝置外掛與共享 GPU 存取的時間切片。
- 預建元件:提供開箱即用的節點,用於常見的視覺任務,如分割與物件偵測。
相關
- 專案
- 專案
- 專案
- 專案
- 專案