Řešení potíží s nasazením modelu

Dokončeno

Nasazení služby zahrnuje mnoho prvků, včetně vytrénovaného modelu, konfigurace prostředí runtime, hodnoticího skriptu, image kontejneru a hostitele kontejneru. Řešení potíží s neúspěšným nasazením nebo chyby vzniklé při používání nasazené služby může být složité.

Kontrola stavu služby

V rámci prvotního kroku pro odstraňování potíží můžete zkontrolovat stav služby:

from azureml.core.webservice import AksWebservice

# Get the deployed service
service = AksWebservice(name='classifier-service', workspace=ws)

# Check its state
print(service.state)

Poznámka:

Pokud chcete zobrazit stav služby, musíte použít typ konkrétní výpočetní služby (například AksWebservice), nikoli obecný objekt WebService.

V případě provozní služby by měl být stav v pořádku.

Kontrola protokolů služby

Pokud služba není v pořádku nebo při jejím použití dochází k chybám, můžete si prohlédnout její protokoly:

print(service.get_logs())

Protokoly obsahují podrobné informace o zřizování služby a o zpracovávaných požadavcích a často vám můžou poskytnout přehled o příčině neočekávaných chyb.

Nasazení do místního kontejneru

Chyby nasazení a chyby za běhu můžete snáze diagnostikovat tím, že službu nasadíte jako kontejner v místní instanci Dockeru, třeba takto:

from azureml.core.webservice import LocalWebservice

deployment_config = LocalWebservice.deploy_configuration(port=8890)
service = Model.deploy(ws, 'test-svc', [model], inference_config, deployment_config)

Pak můžete místně nasazenou službu otestovat pomocí sady SDK:

print(service.run(input_data = json_data))

Následně můžete řešit problémy s běhovým modulem tím, že provedete změny v souboru bodování, na který je odkazováno v konfiguraci odvození, a znovu načtete službu bez opětovného nasazení (což lze udělat pouze s místní službou):

service.reload()
print(service.run(input_data = json_data))