Kurz: Provádění klasifikace obrázků na hraničních zařízeních s využitím služby Custom Vision
Platí pro:
IoT Edge 1,1
IoT Edge 1,2
Azure IoT Edge může zvýšit efektivitu vašeho řešení IoT tím, že přesune úlohy z cloudu na hraniční zařízení. Tato funkce je vhodná pro služby, které zpracovávají velké množství dat, jako jsou modely počítačového zpracování obrazu. Služba Custom Vision umožňuje vytvářet vlastní klasifikátory obrázků a nasazovat je do zařízení jako kontejnery. Kombinace těchto dvou služeb umožňuje získávat informace z obrázků a video streamů bez nutnosti nejprve přenášet všechna tato data do jiného umístění. Služba Custom Vision poskytuje klasifikátor, který generuje přehledy porovnáváním obrázků s natrénovaným modelem.
Služba Custom Vision na zařízení IoT Edge by například mohla určovat, jestli je na dálnici větší nebo menší provoz než normálně nebo jestli jsou v garáži v některé řadě volná parkovací místa. Tyto přehledy je možné sdílet s jinou službou, která na ně může reagovat.
V tomto kurzu se naučíte:
- Vytvoření klasifikátoru obrázků s využitím služby Custom Vision
- Vytvoření modulu IoT Edge, který dotazuje webový server služby Custom Vision na vašem zařízení
- Odeslání výsledků klasifikátoru obrázků do služby IoT Hub

Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Požadavky
Tip
Tento kurz je zjednodušená verze projektu Custom Vision a Azure IoT Edge na ukázkovém projektu Raspberry Pi 3. Tento kurz byl navržen tak, aby se spouštěl na cloudovém virtuálním počítači, a používá statické image k trénování a testování klasifikátoru obrázků, což je užitečné pro někoho, kdo právě začíná vyhodnocovat Custom Vision na IoT Edge. Ukázkový projekt používá fyzický hardware a nastaví živý kanál fotoaparátu pro trénování a testování klasifikátoru obrázků, což je užitečné pro někoho, kdo chce vyzkoušet podrobnější reálný scénář.
Před zahájením tohoto kurzu byste měli projít předchozím kurzem a nastavit prostředí pro vývoj kontejnerů s Linuxem: Vývoj modulů IoT Edge s využitím kontejnerů Linuxu. Po dokončení tohoto kurzu byste měli mít splněny následující požadavky:
- IoT Hub úrovně Free nebo Standard v Azure.
- Zařízení se systémem Azure IoT Edge s kontejnery Linuxu. Pomocí rychlých startů můžete nastavit zařízení s Linuxem nebo Windows zařízení.
- Registr kontejneru, například Azure Container Registry.
- Visual Studio Code s nakonfigurovanou Azure IoT Tools.
- Docker CE nakonfigurovaný pro spouštění linuxových kontejnerů.
Pokud chcete vyvinout IoT Edge s Custom Vision, nainstalujte na počítač pro vývoj následující další požadavky:
Vytvoření klasifikátoru obrázků s využitím služby Custom Vision
Pokud chcete vytvořit klasifikátor obrázků, je potřeba vytvořit projekt služby Custom Vision a poskytnout trénovací obrázky. Další informace o krocích, které provedete v této části, najdete v tématu Postup vytvoření klasifikátoru s využitím služby Custom Vision.
Jakmile bude klasifikátor obrázků vytvořený a natrénovaný, můžete ho exportovat jako kontejner Dockeru a nasadit do zařízení IoT Edge.
Vytvoření nového projektu
Ve webovém prohlížeči přejděte na webovou stránku služby Custom Vision.
Vyberte Přihlásit se a přihlaste se pomocí stejného účtu, který používáte pro přístup k prostředkům Azure.
Vyberte Nový projekt.
Vytvořte projekt s použitím následujících hodnot:
Pole Hodnota Název Zadejte název projektu, například EdgeTreeClassifier. Popis Volitelný popis projektu. Prostředek Vyberte jednu ze skupin prostředků Azure, která obsahuje prostředek Custom Vision Service, nebo vytvořte novou, pokud jste ji ještě nepřidali. Typy projektů Classification Typy klasifikace Vícetřídová třída (jedna značka na obrázek) Domény Obecné (kompaktní) Možnosti exportu Základní platformy (Tensorflow, CoreML, ONNX, ...) Vyberte Vytvořit projekt.
Nahrání obrázků a trénování klasifikátoru
Při vytváření klasifikátoru obrázků je potřeba sada trénovacích obrázků a také testovací obrázky.
Na svůj místní vývojový počítač si naklonujte nebo stáhněte ukázkové obrázky z úložiště Cognitive-CustomVision-Windows.
git clone https://github.com/Microsoft/Cognitive-CustomVision-Windows.gitVraťte se ke svému projektu služby Custom Vision a vyberte Přidat obrázky.
Přejděte do místního úložiště Git, které jste naklonovali, a pak do první složky s obrázky Cognitive-CustomVision-Windows / Samples / Images / Hemlock. Vyberte všech 10 obrázků ve složce a pak vyberte Otevřít.
Přidejte k této skupině obrázků značku hemlock (Jedlovec) a stiskněte Enter, aby se značka použila.
Vyberte Nahrát soubory (10).

Po úspěšném nahrání obrázků vyberte Hotovo.
Znovu vyberte Přidat obrázky.
Přejděte do druhé složky s obrázky Cognitive-CustomVision-Windows / Samples / Images / Japanese Cherry. Vyberte všech 10 obrázků ve složce a pak vyberte Otevřít.
Přidejte k této skupině obrázků značku japanese cherry (Sakura) a stiskněte Enter, aby se značka použila.
Vyberte Nahrát soubory (10). Po úspěšném nahrání obrázků vyberte Hotovo.
Jakmile budou obě sady obrázků označené a nahrané, vyberte Trénovat a natrénujte klasifikátor.
Export klasifikátoru
Po natrénování klasifikátoru na stránce Výkon klasifikátoru vyberte Exportovat.

Jako platformu vyberte DockerFile.
Jako verzi vyberte Linux.
Vyberte Exportovat.

Po dokončení exportu vyberte Stáhnout a uložte balíček .zip místně do svého počítače. Extrahujte z balíčku všechny soubory. Tyto soubory použijete k vytvoření modulu IoT Edge, který bude obsahovat server klasifikace obrázků.
Až se k tomuto bodu dostanete, budete mít vytvořený a natrénovaný projekt služby Custom Vision. Exportované soubory použijete v další části, ale s webovou stránkou služby Custom Vision jste už skončili.
Vytvoření zařízení IoT Edge
Teď máte soubory pro kontejnerovou verzi klasifikátoru obrázků na svém místním vývojovém počítači. V této části nakonfigurujete kontejner klasifikátoru obrázků tak, aby se spouštěl jako modul IoT Edge. Také vytvoříte druhý modul, který se nasadí společně s klasifikátorem obrázků. Druhý modul odesílá požadavky do klasifikátoru a výsledky odesílá jako zprávy do služby IoT Hub.
Vytvoření nového řešení
Řešení představuje logický způsob vývoje a uspořádání více modulů pro jedno nasazení IoT Edge. Řešení obsahuje kód jednoho nebo několika modulů a manifest nasazení, který určuje, jak se mají nakonfigurovat na zařízení IoT Edge.
V Visual Studio Code vyberte View > Command Palette (Zobrazit paletu příkazů). Otevře se paleta VS Code příkazů.
Na paletě příkazů zadejte a spusťte příkaz Azure IoT Edge: New IoT Edge solution (Azure IoT Edge: Nové řešení IoT Edge). Na paletě příkazů zadejte následující informace k vytvoření řešení:
Pole Hodnota Vybrat složku Zvolte umístění na vývojovém počítači, ve kterém VS Code vytvoří soubory řešení. Zadejte název řešení Zadejte popisný název řešení, například CustomVisionSolution, nebo přijměte výchozí hodnotu. Vyberte šablonu modulu Zvolte Modul Python. Zadejte název modulu Pojmenujte modul classifier.
Je důležité, aby tento název modulu obsahoval pouze malá písmena. IoT Edge při odkazování na moduly rozlišuje malá a velká písmena a toto řešení využívá knihovnu, která všechny požadavky formátuje tak, aby obsahovaly pouze malá písmena.Zadejte pro modul úložiště imagí Dockeru Úložiště imagí zahrnuje název registru kontejneru a název image kontejneru. Image kontejneru je předem vyplněná z předchozího kroku. Nahraďte localhost:5000 hodnotou Přihlašovací server z registru kontejneru Azure. Přihlašovací server můžete načíst ze stránky Přehled vašeho registru kontejneru v Azure Portal.
Konečný řetězec vypadá jako <registry name> .azurecr.io/classifier.
V okně Visual Studio Code se načte pracovní prostor řešení IoT Edge.
Přidání přihlašovacích údajů registru
V souboru prostředí jsou uložené přihlašovací údaje pro registr kontejneru, které soubor sdílí s modulem runtime IoT Edge. Modul runtime tyto přihlašovací údaje potřebuje k přetažení vašich privátních imagí do zařízení IoT Edge.
Rozšíření IoT Edge pokusí vyžádat přihlašovací údaje registru kontejneru z Azure a naplnit je v souboru prostředí. Zkontrolujte, jestli už vaše přihlašovací údaje nejsou zahrnuté. Pokud ne, přidejte je teď:
- V průzkumníku VS Code otevřete soubor .env.
- Aktualizujte pole hodnotami uživatelské jméno a heslo, které jste zkopírovali z registru kontejneru Azure.
- Soubor uložte.
Poznámka
Tento kurz používá přihlašovací údaje správce pro Azure Container Registry které jsou vhodné pro vývojové a testovací scénáře. Až budete připraveni na produkční scénáře, doporučujeme použít ověřování s nejmenšími oprávněními, jako jsou instanční objekty. Další informace najdete v tématu Správa přístupu ke svému registru kontejneru.
Výběr cílové architektury
V současné Visual Studio Code vyvíjet moduly pro zařízení s Linuxem AMD64 a Linux ARM32v7. Musíte vybrat architekturu, na kterou cílíte s jednotlivými řešeními, protože kontejner je sestavený a spuštěný odlišně pro každý typ architektury. Výchozí hodnota je Linux AMD64, což použijeme v tomto kurzu.
Otevřete paletu příkazů a vyhledejte Azure IoT Edge: Set Default Target Platform for Edge Solution(Nastavit výchozí cílovou platformu pro řešení Edge) nebo vyberte ikonu zástupce na bočním panelu v dolní části okna.
Na paletě příkazů vyberte ze seznamu možností cílovou architekturu. Pro tento kurz používáme virtuální počítač Ubuntu jako IoT Edge zařízení, takže podržíte výchozí amd64.
Přidání klasifikátoru obrázků
Šablona modulu Python ve Visual Studio Code obsahuje vzorový kód, jehož spuštěním můžete otestovat IoT Edge. V tomto scénáři tento kód nevyužijete. Místo toho pomocí postupu v této části nahraďte vzorový kód kontejnerem klasifikátoru obrázků, který jste exportovali dříve.
V Průzkumníku souborů přejděte k balíčku služby Custom Vision, který jste stáhli a extrahovali. Zkopírujte veškerý obsah extrahovaného balíčku. Mělo by se jednat o dvě složky (app a azureml) a dva soubory (Dockerfile a README).
V Průzkumníku řešení přejděte do adresáře, který jste ve Visual Studio Code nastavili pro vytvoření řešení IoT Edge.
Otevřete složku modulu classifier. Pokud jste v předchozí části použili navrhované názvy, vypadá struktura složek takto: CustomVisionSolution / modules / classifier.
Vložte soubory do složky classifier.
Vraťte se do okna Visual Studio Code. Ve vašem pracovním prostoru řešení by se teď ve složce modulu měly zobrazit soubory klasifikátoru obrázků.

Otevřete soubor module.json ve složce classifier.
Aktualizujte parametr platforms tak, aby odkazl na nový soubor Dockerfile, který jste přidali, a odeberte všechny možnosti kromě AMD64, což je jediná architektura, kterou pro tento kurz používáme.
"platforms": { "amd64": "./Dockerfile" }Uložte provedené změny.
Vytvoření modulu simulované kamery
Ve skutečném nasazení služby Custom Vision byste měli kameru poskytující živé obrázky nebo streamy videa. V tomto scénáři budete simulovat kameru tím, že vytvoříte modul, který do klasifikátoru obrázků odešle testovací obrázek.
Přidání a konfigurace nového modulu
V této části do stejného řešení CustomVisionSolution přidáte nový modul a zadáte kód pro vytvoření simulované kamery.
Ve stejném okně Visual Studio Code pomocí palety příkazů spusťte Azure IoT Edge:Přidání modulu IoT Edge. Na paletě příkazů zadejte následující informace o novém modulu:
Výzva Hodnota Vyberte soubor šablony nasazení Vyberte soubor deployment.template.json ve složce CustomVisionSolution. Vyberte šablonu modulu Vyberte Modul Python. Zadejte název modulu Pojmenujte modul cameraCapture. Zadejte pro modul úložiště imagí Dockeru Nahraďte localhost:5000 hodnotou Přihlašovací server pro váš registr kontejneru Azure.
Konečný řetězec vypadá jako <registryname> .azurecr.io/cameracapture.V okně VS Code se nový modul načte do pracovního prostoru řešení a aktualizuje se soubor deployment.template.json. Teď by se měly zobrazit dvě složky modulu: classifier a cameraCapture.
Otevřete soubor main.py ve složce modules / cameraCapture.
Celý soubor nahraďte následujícím kódem. Tento vzorový kód odesílá požadavky POST do služby pro zpracování obrázků spuštěné v modulu classifier. Pro tento kontejner modulu zadáme ukázkový obrázek, který se použije v požadavcích. Kód pak zabalí odpověď do zprávy pro službu IoT Hub a odešle ji do výstupní fronty.
# Copyright (c) Microsoft. All rights reserved. # Licensed under the MIT license. See LICENSE file in the project root for # full license information. import time import sys import os import requests import json from azure.iot.device import IoTHubModuleClient, Message # global counters SENT_IMAGES = 0 # global client CLIENT = None # Send a message to IoT Hub # Route output1 to $upstream in deployment.template.json def send_to_hub(strMessage): message = Message(bytearray(strMessage, 'utf8')) CLIENT.send_message_to_output(message, "output1") global SENT_IMAGES SENT_IMAGES += 1 print( "Total images sent: {}".format(SENT_IMAGES) ) # Send an image to the image classifying server # Return the JSON response from the server with the prediction result def sendFrameForProcessing(imagePath, imageProcessingEndpoint): headers = {'Content-Type': 'application/octet-stream'} with open(imagePath, mode="rb") as test_image: try: response = requests.post(imageProcessingEndpoint, headers = headers, data = test_image) print("Response from classification service: (" + str(response.status_code) + ") " + json.dumps(response.json()) + "\n") except Exception as e: print(e) print("No response from classification service") return None return json.dumps(response.json()) def main(imagePath, imageProcessingEndpoint): try: print ( "Simulated camera module for Azure IoT Edge. Press Ctrl-C to exit." ) try: global CLIENT CLIENT = IoTHubModuleClient.create_from_edge_environment() except Exception as iothub_error: print ( "Unexpected error {} from IoTHub".format(iothub_error) ) return print ( "The sample is now sending images for processing and will indefinitely.") while True: classification = sendFrameForProcessing(imagePath, imageProcessingEndpoint) if classification: send_to_hub(classification) time.sleep(10) except KeyboardInterrupt: print ( "IoT Edge module sample stopped" ) if __name__ == '__main__': try: # Retrieve the image location and image classifying server endpoint from container environment IMAGE_PATH = os.getenv('IMAGE_PATH', "") IMAGE_PROCESSING_ENDPOINT = os.getenv('IMAGE_PROCESSING_ENDPOINT', "") except ValueError as error: print ( error ) sys.exit(1) if ((IMAGE_PATH and IMAGE_PROCESSING_ENDPOINT) != ""): main(IMAGE_PATH, IMAGE_PROCESSING_ENDPOINT) else: print ( "Error: Image path or image-processing endpoint missing" )Uložte soubor main.py.
Otevřete soubor requrements.txt.
Přidejte nový řádek pro knihovnu, která se zahrne do kontejneru.
requestsUložte soubor requirements.txt.
Přidání testovacího obrázku do kontejneru
Místo toho, abychom k poskytování kanálu obrázků pro tento scénář použili skutečnou kameru, použijeme jeden testovací obrázek. Testovací obrázek je součástí úložiště GitHub s trénovacími obrázky, které jste stáhli dříve v tomto kurzu.
Přejděte na testovací obrázek, který najdete v části Cognitive-CustomVision-Windows / Samples / Images / Test.
Zkopírujte soubor test_image.jpg.
Přejděte do adresáře IoT Edge řešení a vložte testovací obrázek do složky / modules cameraCapture. Obrázek musí být ve stejné složce jako soubor main.py, který jste upravovali v předchozí části.
Ve Visual Studio Code otevřete soubor Dockerfile.amd64 s modulem cameraCapture.
Za řádek, který určuje pracovní adresář (
WORKDIR /app) přidejte následující řádek kódu:ADD ./test_image.jpg .Uložte soubor Dockerfile.
Příprava manifestu nasazení
Zatím jste v tomto kurzu natrénovali model služby Custom Vision pro klasifikaci obrázků stromů a tento model jste zabalili do modulu IoT Edge. Potom jste vytvořili druhý modul, který může odesílat dotazy na server klasifikace obrázků a hlásit jeho výsledky zpět do služby IoT Hub. Teď jste připraveni vytvořit manifest nasazení, který informuje zařízení IoT Edge, jak tyto dva moduly společně spustit a provozovat.
Rozšíření IoT Edge pro Visual Studio Code poskytuje v každém řešení IoT Edge šablonu, která vám pomůže vytvořit manifest nasazení.
Otevřete soubor deployment.template.json ve složce řešení.
Vyhledejte část modules, která by měla obsahovat tři moduly: dva moduly, které jste vytvořili, classifier a cameraCapture, a třetí, který je součástí výchozího nastavení SimulatedTemperatureSensor.
Odstraňte modul SimulatedTemperatureSensor se všemi jeho parametry. Tento modul je zahrnutý za účelem poskytování ukázkových dat pro testovací scénáře, ale v tomto nasazení ho nepotřebujeme.
Pokud jste modul klasifikace obrázků pojmenovali jinak než classifier, zkontrolujte teď název a ujistěte se, že obsahuje pouze malá písmena. Modul cameraCapture k volání modulu classifier používá knihovnu requests, která všechny požadavky formátuje tak, aby obsahovaly pouze malá písmena, a IoT Edge rozlišuje malá a velká písmena.
Aktualizujte parametr createOptions pro modul cameraCapture s použitím následujícího kódu JSON. S použitím těchto informací se v kontejneru modulu vytvoří proměnné prostředí, které se načítají v procesu main.py. Díky zahrnutí těchto informací do manifestu nasazení může změnit obrázek nebo koncový bod, aniž byste museli znovu sestavovat image modulu.
"createOptions": "{\"Env\":[\"IMAGE_PATH=test_image.jpg\",\"IMAGE_PROCESSING_ENDPOINT=http://classifier/image\"]}"Pokud jste modul služby Custom Vision pojmenovali jinak než classifier, aktualizujte odpovídajícím způsobem hodnotu koncového bodu pro zpracování obrázků.
V dolní části souboru aktualizujte parametr routes pro modul $edgeHub. Výsledky předpovědí z modulu cameraCapture chcete směrovat do služby IoT Hub.
"routes": { "cameraCaptureToIoTHub": "FROM /messages/modules/cameraCapture/outputs/* INTO $upstream" },Pokud jste druhý modul pojmenovali jinak než cameraCapture, aktualizujte odpovídajícím způsobem hodnotu trasy.
Uložte soubor deployment.template.json.
Sestavení a nabízení IoT Edge řešení
Když máte vytvořené oba moduly a nakonfigurovanou šablonu manifestu nasazení, jste připraveni sestavit image kontejneru a odeslat je do registru kontejneru.
Jakmile budou image ve vašem registru, můžete řešení nasadit do zařízení IoT Edge. Moduly na zařízení můžete nastavit prostřednictvím služby IoT Hub, ale přistupovat ke službě IoT Hub a zařízením můžete také přes Visual Studio Code. V této části nastavíte přístup ke službě IoT Hub a pak pomocí VS Code nasadíte své řešení do zařízení IoT Edge.
Nejprve sestavte řešení a odešlete ho do registru kontejneru.
Otevřete integrovaný VS Code tak, že vyberete Zobrazit > terminál.
Přihlaste se k Dockeru zadáním následujícího příkazu v terminálu. Přihlaste se pomocí uživatelského jména, hesla a přihlašovacího serveru ze svého registru kontejneru Azure. Tyto hodnoty můžete načíst z části Přístupové klíče vašeho registru v Azure Portal.
docker login -u <ACR username> -p <ACR password> <ACR login server>Může se zobrazit upozornění zabezpečení, které doporučuje použití
--password-stdin. I když se tento osvědčený postup doporučuje pro produkční scénáře, je nad rámec tohoto kurzu. Další informace najdete v referenčních informacích k přihlášení dockeru.V průzkumníku VS Code klikněte pravým tlačítkem na soubor deployment.template.json a vyberte Build and Push IoT Edge solution (Sestavit a IoT Edge řešení).
Příkaz build a push spustí tři operace. Nejprve v řešení vytvoří novou složku s názvem config, která obsahuje úplný manifest nasazení, který je sestavený z informací v šabloně nasazení a dalších souborech řešení. Za druhé se spustí k sestavení image kontejneru na základě
docker buildpříslušného souboru dockerfile pro vaši cílovou architekturu. Pak se spustí adocker pushnasoudí úložiště i image do registru kontejneru.Tento proces může při příštím spuštění příkazů trvat několik minut, ale je rychlejší.
Nasazení modulů do zařízení
Pomocí průzkumníka Visual Studio Code a rozšíření Azure IoT Tools nasaďte projekt modulu do svého IoT Edge zařízení. Už máte manifest nasazení připravený pro váš scénář, soubor deployment.amd64.json ve složce config. Teď stačí jen vybrat zařízení, na které se nasazení provede.
Ujistěte se, IoT Edge vaše zařízení v provozu.
V Visual Studio Code exploreru v části Azure IoT Hub rozbalte Zařízení a zobrazte seznam zařízení IoT.
Klikněte pravým tlačítkem na název vašeho zařízení IoT Edge a pak vyberte Create Deployment for Single Device (Vytvořit nasazení pro jedno zařízení).
Vyberte soubor deployment.amd64.json ve složce config a pak klikněte na Select Edge Deployment Manifest (Vybrat manifest nasazení Edge). Nepoužívejte soubor deployment.template.json.
Pod vaším zařízením rozbalte Moduly a zobrazte seznam nasazených a spuštěných modulů. Klikněte na tlačítko pro obnovení. Měl by se zobrazit spuštěný nový klasifikátor a moduly cameraCapture společně s $edgeAgent a $edgeHub.
Můžete také zkontrolovat, jestli jsou na vašem zařízení zprovozněné všechny moduly. Spuštěním následujícího příkazu na vašem zařízení IoT Edge zobrazte stav modulů.
iotedge list
Spuštění modulů může trvat několik minut. Modul runtime IoT Edge přijmout nový manifest nasazení, stáhnout image modulu z modulu runtime kontejneru a pak spustit každý nový modul.
Zobrazení výsledků klasifikace
Výsledky modulů můžete zobrazit dvěma způsoby – buď na samotném zařízení během generování a odesílání zpráv, nebo ve Visual Studio Code při příjmu zpráv ve službě IoT Hub.
Na svém zařízení si prohlédněte protokoly modulu cameraCapture, kde uvidíte odesílané zprávy a potvrzení jejich příjmu službou IoT Hub.
iotedge logs cameraCapture
V Visual Studio Code klikněte pravým tlačítkem na název vašeho zařízení IoT Edge a vyberte Start Monitoring Built-in Event Endpoint (Spustit monitorování předdefinovaný koncový bod událostí).
Poznámka
Ve výstupu z modulu cameraCapture se zpočátku mohou zobrazit chyby připojení. Je to způsobené zpožděním mezi nasazováním a spouštěním modulů.
Modul cameraCapture automaticky znovu nahlásí připojení, dokud nebude úspěšné. Po úspěšném připojení se zobrazí očekávané zprávy klasifikace obrázků popsané níže.
Výsledky z modulu služby Custom Vision, které se odesílají jako zprávy z modulu cameraCapture, zahrnují pravděpodobnost, s jakou se jedná o obrázek jedlovce nebo sakury. Vzhledem k tomu, že se jedná o obrázek jedlovce, měla by se zobrazit pravděpodobnost 1.0.
Vyčištění prostředků
Pokud máte v plánu pokračovat k dalšímu doporučenému článku, můžete si vytvořené prostředky a konfigurace uschovat a znovu je použít. Také můžete dál používat stejné zařízení IoT Edge jako testovací zařízení.
Jinak můžete odstranit místní konfigurace a prostředky Azure, které jste použili v tomto článku, abyste se vyhnuli poplatkům.
Odstranění prostředků Azure
Odstranění prostředků Azure a skupin prostředků je nevratná akce. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud Centrum IoT vytvoříte ve stávající skupině prostředků, která obsahuje prostředky, které chcete zachovat, odstraňte jenom samotný prostředek služby IoT Hub, nikoli skupinu prostředků.
Odstranění prostředků:
Přihlaste se k portálu Azure Portal a potom vyberte Skupiny prostředků.
Vyberte název skupiny prostředků, která obsahuje vaše testovací prostředky služby IoT Edge.
Zkontrolujte seznam prostředků, které jsou obsaženy ve vaší skupině prostředků. Pokud chcete odstranit všechny prostředky, můžete vybrat možnost Odstranit skupinu prostředků. Pokud chcete odstranit pouze některé prostředky, můžete na ně kliknout a odstranit je jednotlivě.
Další kroky
V tomto kurzu jste natrénovali model služby Custom Vision a nasadili jste ho jako modul do zařízení IoT Edge. Potom jste vytvořili modul, který může odesílat dotazy do služby klasifikace obrázků a hlásit její výsledky zpět do služby IoT Hub.
Pokračujte dalšími kurzy, ve kterých se seznámíte s dalšími způsoby, jak vám může Azure IoT Edge pomoct přeměnit data na obchodní informace na hraničním zařízení.