NVIDIA DeepStream Graph Composer 簡介

已完成

先前,我們引進了 NVIDIA DeepStream SDK。 開發人員可以使用此工具來建立最佳化的智慧型影片分析 (IVA) 應用程式,這些應用程式可以內嵌多個影片輸入來源、對已處理的畫面套用串聯推斷,並產生可發佈至 Microsoft Azure 等雲端服務的遙測。

我們已了解如何使用組態檔驅動方法來使用 NVIDIA DeepStream SDK 開發應用程式。 此方法是 IVA 開發高度支援的策略,但 NVIDIA Graph Composer會進一步運用此方法。 您可以使用此方法來產生 DeepStream 相容的 IVA 管線,方法是使用具有拖放功能元件的視覺化編輯器。 藉由使用這項機制,您可以進一步簡化開發,同時檢視互動式圖表中元件彼此之間的關聯性。

顯示 NVIDIA DeepStream Graph Composer 應用程式的螢幕擷取畫面。

由於我們稍早使用的組態群組,可用的元件看起來可能很眼熟。 這些元件和組態群組都衍生自 DeepStream SDK C 程式庫中提供的函數。 這些元件可供 Composer 應用程式使用本機登錄來提取和儲存 NVIDIA 所提供的延伸模組。 Composer 應用程式也允許匯入自訂延伸模組以支援元件。

Graph 準備好生產環境之後,內建的「容器產生器」工具可讓開發人員將 Composer Graph 封裝成可在 x86 或 ARM64 裝置上執行的容器工作負載。 您可以將此功能與 Graph Composer 搭配使用,以建置容器化 IVA 管線,這些管線可以部署到伺服器類別或支援邊緣的裝置。

此工作流程的完整程序如下所示。

圖表,其中顯示 NVIDIA DeepStream Graph Composer 工作流程。

整合容器化 Graph Composer 工作負載與 Azure IoT 服務

藉由將 DeepStream Graph Composer 工作負載封裝到容器中,可讓 IVA 應用程式在邊緣到雲端案例中執行,其中包含各種功能,例如:

  • 裝置到雲端傳訊。
  • 雲端到裝置的傳訊。
  • 裝置監視。
  • 遠端更新。
  • 透過整合 Azure IoT Edge 來擴充部署。

透過此服務供應項目,您可以檢測可用的裝置,該裝置可在執行階段提供容器化工作負載的協調流程,以及保護內嵌點 (也稱為 IoT 中樞) 的連線能力。

IoT Edge 執行階段會在將容器化工作負載稱為「模組」的實體裝置上執行。 這些模組可以使用訊息路由彼此通訊。 例如,一個模組可以產生遙測,另一個模組可以使用邊緣的 Azure 串流分析從第一個訊息彙總訊息。 然後,您可以透過與 IoT 中樞的連線,將來自此課程模組的訊息直接發佈至雲端。

圖表,其中顯示 Azure IoT Edge 執行階段。

透過從 IoT 中樞安全地註冊和管理裝置,您可以順暢地將更新的工作負載部署到裝置,並監視整個車隊的連線狀態。 因此,您可以將 DeepStream Graph Composer 應用程式放入生產環境,並支援軟體發展生命週期的所有階段。 這些區域包括 Azure DevOps 的外掛程式支援、能夠使用模組對應項修改執行中的工作負載,以及根據裝置中繼資料的目標部署。

圖表,其中顯示 Azure IoT Hub 雲端介面。

在本課程模組中,我們將探索如何使用 DeepStream Graph Composer 開發應用程式。 接下來,我們會將該輸出封裝到容器化工作負載中。 最後,我們會將容器發佈至 Azure Container Registry 的執行個體,以準備該容器以供生產環境使用。 在後續課程模組中,我們將探討如何從安全的容器登錄提取該工作負載,並將其部署到執行 IoT Edge 的 NVIDIA 支援內嵌裝置。

請嘗試這樣做

想像您負責開發 IVA 應用程式,以計算進入餐廳的人數。 現在假設 CEO 喜歡您的概念證明,而且想要將此應用程式部署到世界各地的 1,000 個地點! 您要如何設計策略來執行此部署? 您可以使用哪些工具來加速開發和測試週期?