跳至主要内容

圖形與管線

組合、診斷、調校及部署 Neat 圖形與管線。 請依序完成這些教學。

手動建立一個 `Graph`,包含輸入節點、輸出節點,但不包含模型,然後讓一個框架通過它。在將模型添加到圖中之前,先查看管線的基本元件。

graphbuildrunpipeline

將模型放入一個包含 `Graph`、`model.graph()` 和 `model.graph(options)` 的圖中——這兩種組合模式的不同之處在於您對接線的控制程度,因此您可以知道哪一種更適合快速執行,以及哪一種更適合多攝影機部署。

graphcompositionpatterns
建立自訂資料圖 圖片 建立自訂資料圖 15-20 minutes

建立一個最小且實用的公共 Neat `Graph` ——一個*名為* `Input` 已連接到一個「已命名」的 `Output` ——然後,依據名稱推送一個範例,並驗證該範例的元資料是否能在傳輸過程中保留。

graphtraversalmetadata
將模型嵌入到圖中 圖片 將模型嵌入到圖中 20-25 minutes

將已編譯的模型放入一個公開的 `Graph` 中,並使用 `graph.add(model)`,這樣您就可以獲得圖層級的協調(路由、排程、額外的輸入/輸出),並將其包裝在模型執行周圍,而無需進入內部執行階段圖。

graphhybridmodelmpk

透過單一的公共圖 `Graph` 執行多個邏輯串流,並將兩個命名的輸入合併為一個確定性的輸出束——這是多攝影機或多來源系統背後的模式,其中相關的輸入在進行後續處理之前必須對齊。

graphmultistreamschedulerjoin
診斷並分析管線 圖片 診斷並分析管線 <10 minutes

透過三個檢查來初步診斷管線:`graph.validate()`、一次測量的 `run.run()`,以及 `MeasureReport` 診斷,以判斷它是否已正確連接,以及它的效能如何,然後再進行深入的除錯。

diagnosticsdebuggingobservability

調整非同步管線的控制參數,以控制系統在負載下的行為——佇列深度和溢出策略——然後測量實際發生的情況。

performancetuningasyncqueues

將先前章節中教授的模式組合成一個生產風格的執行迴圈——明確的模型選項、明確的路由選項、明確的執行選項,以及一個非同步推送/拉取迴圈。這不是一個完整的產品框架;而是一個可靠的骨架,您可以根據需要進行調整。

productionreliabilitydeployment