Online végpontok helyi hibakeresése a Visual Studio Code-ban

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Megtudhatja, hogyan használhatja a Microsoft Visual Studio Code hibakeresőt az online végpontok helyi tesztelésére és hibakeresésére, mielőtt üzembe helyezené őket az Azure-ban.

Az Azure Machine Tanulás helyi végpontjai segítenek a pontozószkript, a környezetkonfiguráció, a kódkonfiguráció és a gépi tanulási modell helyi tesztelésében és hibakeresésében.

Fontos

Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszintű szerződés nélkül érhető el, és éles számítási feladatokhoz nem javasoljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik.

További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

A végpontok helyi hibakeresése a felhőben való üzembe helyezés előtt segíthet a kódban és a konfigurációban korábban felmerülő hibák elhárításában. A Végpontok helyi hibakereséséhez különböző lehetőségek állnak rendelkezésre a Visual Studio Code használatával.

Ez az útmutató a helyi végpontokra összpontosít.

Az alábbi táblázat áttekintést nyújt azokról a forgatókönyvekről, amelyek segítenek kiválasztani, hogy mi működik a legjobban az Ön számára.

Eset Következtetés HTTP-kiszolgáló Helyi végpont
Helyi Python-környezet frissítése Docker-rendszerkép újraépítése nélkül Igen Nem
Pontozási szkript frissítése Igen Igen
Üzembehelyezési konfigurációk frissítése (üzembe helyezés, környezet, kód, modell) Nem Igen
Visual Studio Code hibakereső integrációja Igen Igen

Előfeltételek

Ez az útmutató feltételezi, hogy az alábbi elemek helyileg vannak telepítve a pc-n.

További információkért tekintse meg a rendszer online végpontok üzembe helyezésére való előkészítésének útmutatóját.

A cikkben szereplő példák az azureml-examples GitHub-adattárban található kódmintákon alapulnak. Ha helyileg szeretné futtatni a parancsokat a YAML és más fájlok másolása/beillesztése nélkül, klónozza az adattárat, majd módosítsa a könyvtárakat azureml-examples/cli formátumra:

git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli

Ha még nem állította be az Azure CLI alapértelmezett beállításait, mentse az alapértelmezett beállításokat. Az előfizetés, a munkaterület és az erőforráscsoport értékeinek többszöri átadásának elkerülése érdekében használja az alábbi parancsokat. Cserélje le a következő paramétereket az adott konfiguráció értékeire:

  • Cserélje le a <subscription> értékét a saját Azure-előfizetése azonosítójára.
  • Cserélje le <workspace> az Azure Machine Tanulás munkaterület nevére.
  • Cserélje le <resource-group> a munkaterületet tartalmazó Azure-erőforráscsoportra.
  • Cserélje le <location> a munkaterületet tartalmazó Azure-régióra.
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>

Tipp.

A parancs használatával az configure -l megtekintheti az aktuális alapértelmezett beállításokat.

Fejlesztői tároló indítása

Az Azure Machine Tanulás helyi végpontjai Docker- és Visual Studio Code-fejlesztői tárolókat (fejlesztői tárolókat) használnak egy helyi hibakeresési környezet létrehozásához és konfigurálásához. A fejlesztői tárolókkal a Visual Studio Code funkcióit egy Docker-tárolón belül használhatja ki. További információ a fejlesztői tárolókról: Fejlesztői tároló létrehozása.

Ha helyileg szeretne online végpontokat hibakeresésre használni a Visual Studio Code-ban, használja a jelölőt a létrehozáskor vagy frissítéskor, valamint az --vscode-debug Azure Machine Tanulás online üzembe helyezéskor. A következő parancs egy üzembehelyezési példát használ a példák adattárából:

az ml online-deployment create --file endpoints/online/managed/sample/blue-deployment.yml --local --vscode-debug

Fontos

Linuxos Windows-alrendszer (WSL) esetén frissítenie kell a PATH környezeti változót, hogy tartalmazza a Végrehajtható Visual Studio Code elérési útját, vagy használja a WSL-interopt. További információkért lásd a Windows és a Linux közötti együttműködési lehetőségeket.

A Docker-rendszerkép helyileg van létrehozva. A környezetkonfigurációval vagy a modellfájllal kapcsolatos hibák a folyamat ezen szakaszában jelennek meg.

Feljegyzés

Az új vagy frissített fejlesztői tároló első indítása több percet is igénybe vehet.

Miután a rendszerkép sikeresen elkészült, a fejlesztői tároló megnyílik egy Visual Studio Code-ablakban.

Néhány Visual Studio Code-bővítmény használatával hibakeresést végezhet az üzemelő példányok között a fejlesztői tárolóban. Az Azure Machine Tanulás automatikusan telepíti ezeket a bővítményeket a fejlesztői tárolóba.

Fontos

A hibakeresési munkamenet megkezdése előtt győződjön meg arról, hogy a Visual Studio Code-bővítmények telepítése befejeződött a fejlesztői tárolóban.

Hibakeresési munkamenet indítása

A környezet beállítása után használja a Visual Studio Code hibakeresőt az üzembe helyezés helyi teszteléséhez és hibakereséséhez.

  1. Nyissa meg a pontozási szkriptet a Visual Studio Code-ban.

    Tipp.

    A korábban üzembe helyezett végpont által használt score.py szkript az azureml-samples/cli/endpoints/online/managed/sample/score.py található a klónozott adattárban. Az útmutató lépései azonban bármilyen pontozószkripttel működnek.

  2. Állítson be egy töréspontot bárhol a pontozási szkriptben.

    • Az indítási viselkedés hibakereséséhez helyezze a töréspontokat a init függvénybe.
    • A pontozási viselkedés hibakereséséhez helyezze a töréspontokat a függvénybe run .
  3. Válassza ki a Visual Studio Code Feladat nézetet.

  4. A Futtatás és hibakeresés legördülő listában válassza az AzureML: Helyi végpont hibakeresése lehetőséget a végpont helyi hibakeresésének megkezdéséhez.

    A Futtatás nézet Töréspontok szakaszában ellenőrizze, hogy:

    • Az emelt kivételeknincs bejelölve
    • A rendszer bejelöli a nem kezelt kivételeket

    Képernyőkép az Azure Machine Tanulás hibakeresési helyi környezet hibakeresési profiljának konfigurálásáról.

  5. A hibakeresési munkamenet elindításához válassza a Futtatás és hibakeresés legördülő lista melletti lejátszás ikont.

    Ezen a ponton a függvényben lévő init töréspontok le lesznek kapva. A hibakeresési műveletekkel lépegethet a kódon. A hibakeresési műveletekről további információt a hibakeresési műveletek útmutatójában talál.

A Visual Studio Code hibakeresőjével kapcsolatos további információkért lásd a hibakeresést.

A végpont hibakeresése

Most, hogy az alkalmazás fut a hibakeresőben, próbáljon meg előrejelzést készíteni a pontozási szkript hibakereséséhez.

ml A bővítményparancs invoke használatával kérést intézhet a helyi végponthoz.

az ml online-endpoint invoke --name <ENDPOINT-NAME> --request-file <REQUEST-FILE> --local

Ebben az esetben egy JSON-fájl, <REQUEST-FILE> amely bemeneti adatmintákat tartalmaz a modellhez, hogy az előrejelzések az alábbi JSON-hoz hasonló módon legyenek bekapcsolva:

{"data": [
    [1,2,3,4,5,6,7,8,9,10], 
    [10,9,8,7,6,5,4,3,2,1]
]}

Tipp.

A pontozási URI az a cím, ahol a végpont figyeli a kéréseket. A bővítmény használatával ml szerezze be a pontozási URI-t.

az ml online-endpoint show --name <ENDPOINT-NAME> --local

A kimenetnek a következőképpen kell kinéznie:

{
 "auth_mode": "aml_token",
 "location": "local",
 "name": "my-new-endpoint",
 "properties": {},
 "provisioning_state": "Succeeded",
 "scoring_uri": "http://localhost:5001/score",
 "tags": {},
 "traffic": {},
 "type": "online"
}

A pontozási URI a scoring_uri tulajdonságban található.

Ezen a ponton a függvényben lévő run töréspontok le lesznek kapva. A hibakeresési műveletekkel lépegethet a kódon. A hibakeresési műveletekről további információt a hibakeresési műveletek útmutatójában talál.

A végpont szerkesztése

Az alkalmazás hibakeresése és hibaelhárításakor vannak olyan helyzetek, amikor frissítenie kell a pontozószkriptet és a konfigurációkat.

A kód módosításainak alkalmazása:

  1. Frissítse a kódot.
  2. Indítsa újra a hibakeresési munkamenetet a Developer: Reload Window parancskatalógusban található paranccsal. További információkért tekintse meg a parancskatalógus dokumentációját.

Feljegyzés

Mivel a kód- és végponteszközöket tartalmazó könyvtár a fejlesztői tárolóra van csatlakoztatva, a dev tárolóban végrehajtott módosítások szinkronizálódnak a helyi fájlrendszerrel.

A környezet és a végpontkonfiguráció frissítéseit érintő átfogóbb módosításokért használja a ml bővítményparancsot update . Ha így tesz, teljes rendszerkép-újraépítést indít el a módosításokkal.

az ml online-deployment update --file <DEPLOYMENT-YAML-SPECIFICATION-FILE> --local --vscode-debug

A frissített rendszerkép létrehozása és a fejlesztői tároló elindítása után a Visual Studio Code hibakeresőjével tesztelheti és elháríthatja a frissített végpontot.