Úvod do grafického skladatele NVIDIA DeepStream
Dříve jsme představili sadu NVIDIA DeepStream SDK. Vývojáři ho můžou použít k vytváření optimalizovaných aplikací IVA (Intelligent Video Analytics), které můžou ingestovat více vstupních zdrojů videa, aplikovat kaskádové odvozování na zpracovaných rámcích a vytvářet telemetrii, která se dá publikovat do cloudových služeb, jako je Microsoft Azure.
Podívali jsme se na vývoj aplikací pomocí sady NVIDIA DeepStream SDK pomocí přístupu řízeného konfigurací. Tato metoda je vysoce povolovat strategii vývoje IVA, ale NVIDIA Graph Composer tento přístup dále využívá. Můžete ho použít ke generování kanálů IVA kompatibilních s DeepStream pomocí vizuálního editoru s komponentami přetažení. Pomocí tohoto mechanismu můžete dále zjednodušit vývoj a zároveň si prohlédnout, jak spolu komponenty vzájemně souvisejí v interaktivním grafu.
Dostupné komponenty vám můžou připadat známé kvůli dříve používaným skupinám konfigurace. Tyto komponenty a skupiny konfigurace jsou odvozeny z funkcí poskytovaných v knihovnách jazyka C sady DeepStream SDK. Tyto komponenty jsou zpřístupněny aplikaci Composer pomocí místního registru, který načítá a ukládá rozšíření poskytovaná společností NVIDIA. Aplikace Composer také umožňuje importovat vlastní rozšíření pro podporu komponent.
Jakmile je graf připravený pro produkční prostředí, zahrnutý nástroj pro tvůrce kontejnerů umožňuje vývojářům zabalit graphy do úloh kontejnerů, které můžou běžet na zařízeních x86 nebo ARM64. Tuto funkci můžete použít se službou Graph Composer k sestavení kontejnerizovaných kanálů IVA, které je možné nasadit na serverová nebo hraniční zařízení.
Celý proces pro tento pracovní postup je zde uvedený.
Integrace kontejnerizovaných úloh Graph Composeru se službami Azure IoT
Zabalením úloh DeepStream Graph Composer do kontejnerů IVA můžou aplikace IVA spouštět ve scénářích hran-cloud s různými funkcemi, jako jsou:
- Zasílání zpráv typu zařízení-cloud
- Zasílání zpráv typu Cloud-zařízení
- Monitorování zařízení
- Vzdálené aktualizace.
- Škálovatelné nasazení prostřednictvím integrace s Azure IoT Edge.
Díky této nabídce služby můžete instrumentovat zařízení podporující modul runtime, který zajišťuje orchestraci kontejnerizovaných úloh a zabezpečené připojení k bodu příjmu dat známému jako IoT Hub.
Modul runtime IoT Edge běží na fyzickém zařízení, kde se kontejnerizované úlohy nazývají moduly. Tyto moduly spolu můžou komunikovat pomocí směrování zpráv. Jeden modul může například vytvářet telemetrii a jiný modul může agregovat zprávy z prvních zpráv pomocí Azure Stream Analytics na hraničních zařízeních. Zprávy z tohoto modulu je pak možné publikovat přímo do cloudu prostřednictvím připojení k centru IoT.
Když jsou zařízení zaregistrovaná a spravovaná bezpečně z centra IoT, je možné do zařízení bezproblémově nasadit aktualizované úlohy a také monitorovat stav připojení celého vozového parku. V důsledku toho můžete své aplikace DeepStream Graph Composer umístit do produkčního prostředí s podporou všech fází životního cyklu vývoje softwaru. Mezi tyto oblasti patří podpora modulů plug-in pro Azure DevOps, schopnost upravovat spuštěné úlohy pomocí dvojčat modulů a cílená nasazení na základě metadat zařízení.
V tomto modulu prozkoumáme, jak vyvíjet aplikace pomocí DeepStream Graph Composeru. V dalším kroku tento výstup zabalíme do kontejnerizované úlohy. Nakonec tento kontejner připravíme pro produkční prostředí tak, že ho publikujeme do instance služby Azure Container Registry. V následném modulu se podíváme na to, jak načíst danou úlohu ze zabezpečeného registru kontejneru a nasadit ji do vloženého zařízení NVIDIA, na kterém běží IoT Edge.
Vyzkoušejte toto
Představte si, že jste dostali za úkol vyvinout aplikaci IVA, která spočítá počet lidí, kteří vstoupí do restaurace. Teď předpokládejme, že generální ředitel miluje váš důkaz konceptu a chce tuto aplikaci nasadit na 1 000 míst po celém světě! Jak můžete navrhnout strategii pro provedení tohoto nasazení? Jaké nástroje byste mohli použít k urychlení vývojového a testovacího cyklu?