Cvičení – vytvoření image kontejneru pomocí modelu YOLO a jeho nasazení do IoT Edge

Dokončeno

Než začnete, ujistěte se, že jste nainstalovali požadavky na místní počítač.

Vytvoření registru kontejneru Azure

  1. Na webu Azure Portal otevřete Azure Cloud Shell pomocí jeho ikony.

    The illustration shows Azure Cloud Shell.

  2. Pomocí příkazu az acr create vytvoříte registr kontejneru Azure. Spuštěním následujícího příkazu definujte proměnnou s názvem ACR_NAME. Název registru kontejneru musí být v rámci Azure jedinečný a musí obsahovat 5 až 50 alfanumerických znaků.

    ACR_NAME=<enter-registry-name>
    
  3. Zadáním následujícího příkazu do editoru Cloud Shell vytvořte nový registr kontejneru.

    az acr create --resource-group <replace-with-resource-group> --name $ACR_NAME --sku Standard
    
  4. Přejděte k prostředku registru kontejneru, který jste právě vytvořili, a přejděte na přístupové klíče.

  5. Zkopírujte název registru, přihlašovací server, uživatelské jméno a heslo.

    The illustration shows the access keys.

Stáhněte si model Odvozování YOLOv4(tiny) TensorFlow Lite

  1. Přejděte na místní počítač a https://github.com/Azure/live-video-analytics stáhněte si zip.

    The illustration shows how to download a project from GitHub.

  2. Ve stažené složce přejděte na následující cestu.

    live-video-analytics-master/utilities/video-analysis/yolov4-tflite-tiny
    

    The illustration shows the project folder.

  3. Vytvořte na počítači nový adresář a zkopírujte všechny soubory (včetně podsložek) z této složky GitHubu do nového adresáře.

Sestavení image kontejneru pomocí modelu YOLO

  1. Zobrazí se soubor Dockerfile, který obsahuje pokyny k sestavení pro image kontejneru.

    The illustration shows Dockerfile.

  2. Otevřete terminál v tomto adresáři. Spuštěním následujícího příkazu Dockeru z příkazového okna v tomto adresáři sestavte image kontejneru.

    docker build . -t yolov4-tflite-tiny:latest
    

    The illustration shows how to build a docker image.

Nasdílení image Dockeru do služby Azure Container Registry

Teď máte image Dockeru s modelem YOLO. Než budete moct odeslat image do registru, musíte ji označit plně kvalifikovaným názvem přihlašovacího serveru registru. Název přihlašovacího serveru je ve formátu azurecr.io (musí být malými písmeny).

  1. Na místním počítači se přihlaste k Azure pomocí Azure CLI.

    az login
    
  2. Přihlaste se k ACR pomocí Azure CLI (můžete použít i Docker).

    docker login <replace-with-your-acr-login-server>
    

    The illustration shows how to login docker.

  3. Označte image pomocí příkazu docker tag. Nahraďte <login-server> názvem přihlašovacího serveru vaší instance ACR.

    docker tag <original-image-name:tag> <registry-name>.azurecr.io/<image-name:tag>
    

    The illustration shows how to a docker image.

  4. Pomocí docker push nasdílejte image do instance registru. Nahraďte <login-server> názvem přihlašovacího serveru vaší instance registru.

    docker push <registry-name>.azurecr.io/<image-name:tag>
    

    The illustration shows how to push image to a container registry.

  5. Nasdílení kontejnerizovaného modelu do registru kontejnerů Azure bude nějakou dobu trvat. Po nahrání image do registru kontejneru by identifikátor URI image byl:

    <registry-name>.azurecr.io/<image-name:tag>
    
  6. Pokud chcete ověřit, jestli se image nasdílí, přejdete do prostředku registru kontejneru a přejdete do úložiště.

    The illustration shows the containerized model in container registry.

Nasazení modelu YOLO jako modulu Azure IoT Edge

  1. Na webu Azure Portal přejděte k prostředku ioT Hubu.

  2. V levém podokně v části Automatické Správa zařízení vyberte IoT Edge.

  3. Vyberte zařízení IoT Edge, které má nasazení přijmout.

  4. Na horním panelu vyberte Nastavit moduly.

  5. Zadejte následující:

    • Název: Nahraďte názvem registru vašeho registru kontejneru Azure.

    • Adresa: Nahrazení přihlašovacím serverem registru kontejneru Azure

    • Uživatelské jméno: Nahraďte uživatelské jméno vašeho registru kontejneru Azure.

    • Heslo: Nahraďte ho heslem vašeho registru kontejneru Azure.

    The illustration shows how to edit container credentials.

  6. Vyberte Přidat.

  7. V části Moduly IoT Edge vyberte Přidat a v rozevírací nabídce vyberte Modul IoT Edge.

    The illustration shows how to add edge module.

  8. Zadejte název modulu IoT Edge a zadejte adresu URL obrázku, což je cesta, jak je uvedeno níže.

    <registry-name>.azurecr.io/<image-name:tag>
    
  9. Vyberte Přidat.

    The illustration shows how to add image path.

Kontrola a vytvoření

Po nastavení modulu vyberte Zkontrolovat a vytvořit. V části kontroly se zobrazí manifest nasazení JSON vytvořený na základě vámi nastavených modulů. Zkontrolujte, jestli je modul, který jste nastavili v předchozí části, definován v manifestu.

The illustration shows the review of deployment.

Kontrola nasazeného modulu na hraničním zařízení

Po nasazení můžete modul v hraničním zařízení zkontrolovat. Připojení k virtuálnímu počítači a spusťte příkaz docker ps.

docker ps

Teď máte v hraničním zařízení vlastní modul odvozování a koncový bod předpovědi je přístupný prostřednictvím /score s portem 80 , pokud je váš obrázek sestavený z modelu Tiny YOLOv4 TensorFlow Lite.

Poznamenejte si predikovaný koncový bod, který je ve formě http://{název_modulu}:80/score a je přístupný pouze v rámci hraničního zařízení.

Prověřte si své znalosti

1.

Pokud máte vlastní model strojového učení a chcete ho zabalit jako image Dockeru, kde definujete kroky sestavení procesu sestavení image?