Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Den här artikeln innehåller information om hur du använder Azure Machine Learning SDK v1. SDK v1 är inaktuell från och med den 31 mars 2025. Stödet för det upphör den 30 juni 2026. Du kan installera och använda SDK v1 fram till det datumet. Dina befintliga arbetsflöden med SDK v1 fortsätter att fungera efter supportdatumet. De kan dock utsättas för säkerhetsrisker eller förändringar som bryter kompatibiliteten vid arkitektoniska förändringar i produkten.
Vi rekommenderar att du övergår till SDK v2 före den 30 juni 2026. Mer information om SDK v2 finns i Vad är Azure Machine Learning CLI och Python SDK v2? och SDK v2-referensen.
Lär dig hur du använder Azure Machine Learning för att distribuera en modell som en webbtjänst på din Azure Machine Learning-beräkningsinstans. Använd beräkningsinstanser om något av följande villkor är sant:
- Du måste snabbt distribuera och verifiera din modell.
- Du testar en modell som är under utveckling.
Dricks
Att distribuera en modell från en Jupyter Notebook på en beräkningsinstans till en webbtjänst på samma virtuella dator är en lokal distribution. I det här fallet är den "lokala" datorn beräkningsinstansen.
Kommentar
Azure Machine Learning-slutpunkter (v2) ger en förbättrad och enklare distributionsupplevelse. Slutpunkter stöder scenarier för både realtids- och batchinferens. Slutpunkter ger ett enhetligt gränssnitt för att anropa och hantera modelldistributioner mellan beräkningstyper. Se Vad är Azure Machine Learning-slutpunkter?.
Förutsättningar
- En Azure Machine Learning-arbetsyta med en beräkningsinstans som körs. Mer information finns i Skapa resurser för att komma igång.
Distribuera till beräkningsinstanserna
En exempelanteckningsbok som visar lokala distributioner ingår i beräkningsinstansen. Använd följande steg för att läsa in anteckningsboken och distribuera modellen som en webbtjänst på den virtuella datorn:
Från Azure Machine Learning-studio väljer du "Notebooks" och sedan how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local.ipynb under "Sample notebooks". Klona anteckningsboken till din användarmapp.
Leta reda på notebook-filen som klonas i steg 1, välj eller skapa en Beräkningsinstans för att köra notebook-filen.
Notebook-filen visar URL:en och porten som tjänsten körs på. Exempel:
https://localhost:6789Du kan också köra cellen som innehållerprint('Local service port: {}'.format(local_service.port))för att visa porten.
Om du vill testa tjänsten från en beräkningsinstans använder du
https://localhost:<local_service.port>URL:en. Om du vill testa från en fjärrklient hämtar du den offentliga URL:en för tjänsten som körs på beräkningsinstansen. Den offentliga URL:en kan fastställas med hjälp av följande formel.- Bärbar dator VM:
https://<vm_name>-<local_service_port>.<azure_region_of_workspace>.notebooks.azureml.net/score. - Beräkningsinstans:
https://<vm_name>-<local_service_port>.<azure_region_of_workspace>.instances.azureml.net/score.
Ett exempel:
- Virtuell notebook-dator:
https://vm-name-6789.northcentralus.notebooks.azureml.net/score - Beräkningsinstans:
https://vm-name-6789.northcentralus.instances.azureml.net/score
- Bärbar dator VM:
Testa tjänsten
Om du vill skicka exempeldata till den tjänst som körs använder du följande kod. Ersätt värdet service_url för med URL:en från föregående steg:
Kommentar
När du autentiserar till en distribution på beräkningsinstansen görs autentiseringen med Hjälp av Microsoft Entra-ID. Anropet till interactive_auth.get_authentication_header() i exempelkoden autentiserar dig med hjälp av Microsoft Entra-ID och returnerar ett huvud som sedan kan användas för att autentisera till tjänsten på beräkningsinstansen. Mer information finns i Konfigurera autentisering för Azure Machine Learning-resurser och arbetsflöden.
När du autentiserar till en distribution på Azure Kubernetes Service eller Azure Container Instances används en annan autentiseringsmetod. Mer information finns i Konfigurera autentisering för Azure Machine-modeller som distribueras som webbtjänster.
import requests
import json
from azureml.core.authentication import InteractiveLoginAuthentication
# Get a token to authenticate to the compute instance from remote
interactive_auth = InteractiveLoginAuthentication()
auth_header = interactive_auth.get_authentication_header()
# Create and submit a request using the auth header
headers = auth_header
# Add content type header
headers.update({'Content-Type':'application/json'})
# Sample data to send to the service
test_sample = json.dumps({'data': [
[1,2,3,4,5,6,7,8,9,10],
[10,9,8,7,6,5,4,3,2,1]
]})
test_sample = bytes(test_sample,encoding = 'utf8')
# Replace with the URL for your compute instance, as determined from the previous section
service_url = "https://vm-name-6789.northcentralus.notebooks.azureml.net/score"
# for a compute instance, the url would be https://vm-name-6789.northcentralus.instances.azureml.net/score
resp = requests.post(service_url, test_sample, headers=headers)
print("prediction:", resp.text)
Nästa steg
- Distribuera en modell med en anpassad Docker-avbildning
- Felsökning av distribution
- Använda TLS för att skydda en webbtjänst via Azure Machine Learning
- Använda en ML-modell som distribuerats som en webbtjänst
- Övervaka dina Azure Machine Learning-modeller med Application Insights
- Samla in data för modeller i produktion