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.
- Azure Machine Tanulás következtetési HTTP-kiszolgáló
- Helyi végpont
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.
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.
Á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
.
- Az indítási viselkedés hibakereséséhez helyezze a töréspontokat a
Válassza ki a Visual Studio Code Feladat nézetet.
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
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:
- Frissítse a kódot.
- 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.