Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Machine Learning registro consente di collaborare tra aree di lavoro all'interno dell'organizzazione. Usando i registri, è possibile condividere modelli, componenti e ambienti.
Esistono due scenari in cui si vuole usare lo stesso set di modelli, componenti e ambienti in più aree di lavoro:
-
MLOps tra le aree di lavoro: stai addestrando un modello in un'area di lavoro
deve devi distribuirlo nelle aree di lavorotesteprod. In questo caso, si vuole avere una derivazione end-to-end tra gli endpoint in cui il modello viene distribuito intestoprodaree di lavoro e il processo di training, le metriche, il codice, i dati e l'ambiente usati per eseguire il training del modello nell'areadevdi lavoro. - Condividere e riutilizzare modelli e pipeline tra team diversi: la condivisione e il riutilizzo migliorano la collaborazione e la produttività. In questo scenario potrebbe essere necessario pubblicare un modello sottoposto a training e i componenti e gli ambienti associati usati per eseguirne il training in un catalogo centrale. Da qui, i colleghi di altri team possono cercare e riutilizzare gli asset condivisi nei propri esperimenti.
Questo articolo illustra come:
- Creare un ambiente e un componente nel registro di sistema.
- Usare il componente dal Registro per l'invio di un processo di training del modello in un'area di lavoro.
- Registrare il modello addestrato nel registro.
- Distribuire il modello dal Registro di sistema a un endpoint online nell'area di lavoro, quindi inviare una richiesta di inferenza.
Prerequisiti
Prima di seguire i passaggi descritti in questo articolo, assicurarsi di disporre dei prerequisiti seguenti:
- Sottoscrizione Azure. Se non si ha una sottoscrizione Azure, creare un account gratuito prima di iniziare. Provare la versione free o a pagamento di Azure Machine Learning.
Un registro Azure Machine Learning per condividere modelli, componenti e ambienti. Per creare un registro, vedere Informazioni su come creare un registro.
Un'area di lavoro Azure Machine Learning. Per crearne uno se non è disponibile, seguire la procedura descritta nell'articolo Avvio rapido: Creare risorse dell'area di lavoro .
Importante
L'area Azure (località) in cui si crea l'area di lavoro deve essere nell'elenco delle aree supportate per Azure Machine Learning registro
L'interfaccia della riga di comando di Azure e l'estensione
mloppure Python SDK per Azure Machine Learning v2:Per installare il interfaccia della riga di comando di Azure e l'estensione, vedere Installare, configurare e usare l'interfaccia della riga di comando (v2).
Importante
Gli esempi dell'interfaccia della riga di comando in questo articolo presuppongono che si usi la shell Bash (o compatibile). Ad esempio, da un sistema Linux o sottosistema Windows per Linux.
Gli esempi presuppongono anche che siano state configurate le impostazioni predefinite per il interfaccia della riga di comando di Azure in modo che non sia necessario specificare i parametri per la sottoscrizione, l'area di lavoro, il gruppo di risorse o la posizione. Per impostare le impostazioni predefinite, usare i comandi seguenti. Sostituire i parametri seguenti con i valori per la configurazione:
- Sostituire
<subscription>con l'ID sottoscrizione Azure. - Sostituire
<workspace>con il nome dell'area di lavoro Azure Machine Learning. - Sostituire
<resource-group>con il gruppo di risorse Azure che contiene l'area di lavoro. - Sostituire
<location>con l'area di Azure che contiene l'area di lavoro.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>È possibile visualizzare le impostazioni predefinite correnti usando il
az configure -lcomando .- Sostituire
Clona il repository di esempi
Gli esempi di codice in questo articolo sono basati sull'esempio nyc_taxi_data_regression nel repository examples. Per usare questi file nell'ambiente di sviluppo, usare i comandi seguenti per clonare il repository e modificare le directory nell'esempio:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
Per l'esempio dell'interfaccia della riga di comando, modificare directory in cli/jobs/pipelines-with-components/nyc_taxi_data_regression nel clone locale del repository degli esempi.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
Creare una connessione SDK
Suggerimento
Questo passaggio è necessario solo quando si usa Python SDK.
Creare una connessione client sia all'area di lavoro Azure Machine Learning che al Registro di sistema:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Creare un ambiente nel Registro di sistema
Gli ambienti definiscono il contenitore Docker e le dipendenze Python necessarie per eseguire processi di training o distribuire modelli. Per altre informazioni sugli ambienti, vedere gli articoli seguenti:
Suggerimento
Lo stesso comando CLI az ml environment create può essere usato per creare ambienti in uno spazio di lavoro o in un registro. L'esecuzione del comando con --workspace-name il comando crea l'ambiente in un'area di lavoro, mentre l'esecuzione del comando con --registry-name crea l'ambiente nel Registro di sistema.
Viene creato un ambiente che usa l'immagine docker python:3.10 e installa Python pacchetti necessari per eseguire un processo di training usando il framework SciKit Learn. Se è stato clonato il repository di esempi e si trovano nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression, dovrebbe essere possibile visualizzare il file env_train.yml di definizione dell'ambiente che fa riferimento al file env_train/DockerfileDocker . Il contenuto di env_train.yml è il seguente:
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: SKLearnEnv
version: 1-<VERSION>
description: Scikit Learn environment
build:
path: ./env_train
Creare l'ambiente utilizzando az ml environment create come segue
az ml environment create --file env_train.yml --registry-name <registry-name>
Se viene visualizzato un errore che indica che un ambiente con questo nome e versione esiste già nel Registro di sistema, è possibile modificare il version campo in env_train.yml o specificare una versione diversa nell'interfaccia della riga di comando che esegue l'override del valore di versione in env_train.yml.
# use shell epoch time as the version
version=$(date +%s)
az ml environment create --file env_train.yml --registry-name <registry-name> --set version=$version
Suggerimento
version=$(date +%s) funziona solo in Linux. Sostituire $version con un numero casuale se non funziona.
Annotare il name e il version dell'ambiente dall'output del comando az ml environment create e usarli con i comandi az ml environment show come indicato di seguito. Avrai bisogno di name e version nella sezione successiva quando crei un componente nel Registro di sistema.
az ml environment show --name SKLearnEnv --version 1 --registry-name <registry-name>
Suggerimento
Se è stato usato un nome o una versione di ambiente diverso, sostituire i --name parametri e --version di conseguenza.
È anche possibile usare az ml environment list --registry-name <registry-name> per elencare tutti gli ambienti nel Registro di sistema.
È possibile esplorare tutti gli ambienti nel studio di Azure Machine Learning. Assicurarsi di passare all'interfaccia utente globale e cercare la voce Registries (Registri).
Nota
L'identità gestita assegnata dal sistema della risorsa del registro dispone dell'autorizzazione AcrPull per l'istanza di Registro Azure Container associata a tale registro. Quando il calcolo dell'area di lavoro deve ottenere un'immagine dell'ambiente, il Registro AzureML crea e restituisce un token ACR con la mappa di ambito adeguata, permettendo al calcolo dell'area di lavoro di acquisire l'immagine. Né l'area di lavoro né l'identità gestita di calcolo dispongono dell'accesso diretto all'ACR del registro.
Creare un componente nel Registro di sistema
I componenti sono blocchi riutilizzabili delle pipeline di Machine Learning per Azure Machine Learning. È possibile creare un pacchetto del codice, del comando, dell'ambiente, dell'interfaccia di input e dell'interfaccia di output di una singola pipeline in un componente. È quindi possibile riutilizzare il componente tra più pipeline senza doversi preoccupare della conversione delle dipendenze e del codice ogni volta che si scrive una pipeline diversa.
La creazione di un componente in un'area di lavoro consente di usare il componente in qualsiasi processo della pipeline all'interno di tale area di lavoro. La creazione di un componente in un registro consente di usare il componente in qualsiasi pipeline in qualsiasi area di lavoro all'interno dell'organizzazione. La creazione di componenti in un registro è un ottimo modo per creare utilità riutilizzabili modulari o attività di training condivise che possono essere usate per la sperimentazione da parte di team diversi all'interno dell'organizzazione.
Per altre informazioni sui componenti, vedere gli articoli seguenti:
Come usare i componenti nelle pipeline (SDK)
Importante
Il Registro di sistema supporta solo asset denominati (data/model/component/environment). Per fare riferimento a un asset in un registro, è prima necessario crearlo nel Registro di sistema. In particolare per il caso del componente della pipeline, se si vuole fare riferimento al componente o all'ambiente nel componente della pipeline, è prima necessario creare il componente o l'ambiente nel Registro di sistema.
Assicurarsi di essere nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression. Trovare il file di definizione del componente train.yml che confeziona uno script di training Scikit-learn train_src/train.py.
train.yml usa l'ambiente curatosklearn-1.5 dal registro azureml. È possibile modificare il environment campo in train.yml per usare l'ambiente Scikit Learn creato nel passaggio precedente o mantenere l'ambiente curato. Il file train.yml di definizione del componente è simile all'esempio seguente:
# <component>
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_linear_regression_model
display_name: TrainLinearRegressionModel
version: 1
type: command
inputs:
training_data:
type: uri_folder
test_split_ratio:
type: number
min: 0
max: 1
default: 0.2
outputs:
model_output:
type: mlflow_model
test_data:
type: uri_folder
code: ./train_src
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
command: >-
python train.py
--training_data ${{inputs.training_data}}
--test_data ${{outputs.test_data}}
--model_output ${{outputs.model_output}}
--test_split_ratio ${{inputs.test_split_ratio}}
# </component>
Se si vuole usare il proprio ambiente del passaggio precedente anziché l'ambiente curato, aggiornare il environment campo in azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1. Eseguire il az ml component create comando per creare il componente come indicato di seguito.
az ml component create --file train.yml --registry-name <registry-name>
Suggerimento
Lo stesso comando CLI az ml component create può essere usato per creare componenti in un'area di lavoro o in un registro. L'esecuzione del comando con --workspace-name il comando crea il componente in un'area di lavoro, mentre l'esecuzione del comando con --registry-name crea il componente nel Registro di sistema.
Se si preferisce non modificare train.yml, è possibile eseguire l'override del nome dell'ambiente nell'interfaccia della riga di comando come indicato di seguito:
az ml component create --file train.yml --registry-name <registry-name> --set environment=azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1
Suggerimento
Se viene visualizzato un errore che indica che il nome del componente esiste già nel Registro di sistema, è possibile modificare la versione in train.yml o eseguire l'override della versione nell'interfaccia della riga di comando con una versione casuale.
Annotare il name e il version del componente dall'output del comando az ml component create e usarli con i comandi az ml component show come segue. Saranno necessari name e version nella sezione successiva quando si crea un processo di training nell'area di lavoro.
az ml component show --name <component_name> --version <component_version> --registry-name <registry-name>
È anche possibile usare az ml component list --registry-name <registry-name> per elencare tutti i componenti nel Registro di sistema.
È possibile esplorare tutti i componenti nella studio di Azure Machine Learning. Assicurarsi di passare all'interfaccia utente globale e cercare la voce Registries (Registri).
Eseguire un processo della pipeline in un'area di lavoro usando un componente dal Registro di sistema
Quando si esegue un processo della pipeline che usa un componente da un registro, le risorse di calcolo e i dati di training sono locali nell'area di lavoro. Per altre informazioni sull'esecuzione di processi, vedere gli articoli seguenti:
- Esecuzione di processi (interfaccia della riga di comando)
- Esecuzione di processi (SDK)
- Processi di pipeline con componenti (CLI)
- Processi di pipeline con componenti (SDK)
Viene eseguito un processo della pipeline con il componente di training Scikit Learn creato nella sezione precedente per eseguire il training di un modello. Verificare che si trovi nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression. Il set di dati di training si trova nella data_transformed cartella . Modificare la sezione component all'interno della sezione train_job del file single-job-pipeline.yml per fare riferimento al componente di training creato nella sezione precedente. Il risultato single-job-pipeline.yml è il seguente:
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: ./data_transformed
outputs:
model_output:
type: mlflow_model
test_data:
L'aspetto chiave è che questa pipeline verrà eseguita in un'area di lavoro usando un componente che non si trova nell'area di lavoro specifica. Il componente si trova in un registro che può essere usato con qualsiasi area di lavoro nell'organizzazione. È possibile eseguire questo processo di training in qualsiasi area di lavoro a cui si ha accesso senza doversi preoccupare di rendere disponibile il codice di training e l'ambiente in tale area di lavoro.
Avviso
- Prima di eseguire il processo della pipeline, verificare che l'area di lavoro in cui si esegue il processo si trovi in un'area Azure supportata dal Registro di sistema in cui è stato creato il componente.
- Verificare che l'area di lavoro abbia un cluster di calcolo con il nome
cpu-clustero modificare ilcomputecampo injobs.train_job.computecon il nome dell'ambiente di calcolo.
Eseguire il processo della pipeline con il comando az ml job create.
az ml job create --file single-job-pipeline.yml
Suggerimento
Se l'area di lavoro e il gruppo di risorse predefiniti non sono stati configurati come illustrato nella sezione dei prerequisiti, è necessario specificare i --workspace-name parametri e --resource-group per il funzionamento di az ml job create .
In alternativa, ou può ignorare la modifica single-job-pipeline.yml ed eseguire l'override del nome del componente usato dall'interfaccia train_job della riga di comando.
az ml job create --file single-job-pipeline.yml --set jobs.train_job.component=azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
Poiché il componente utilizzato nel processo di addestramento viene condiviso tramite un registro, è possibile presentare il processo a qualsiasi area di lavoro accessibile nell'organizzazione, anche attraverso diverse sottoscrizioni. Ad esempio, se si dispone di dev-workspace, test-workspace e prod-workspace, l'esecuzione del processo di training in queste tre aree di lavoro è facile come eseguire tre comandi az ml job create.
az ml job create --file single-job-pipeline.yml --workspace-name dev-workspace --resource-group <resource-group-of-dev-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name test-workspace --resource-group <resource-group-of-test-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name prod-workspace --resource-group <resource-group-of-prod-workspace>
In Azure Machine Learning Studio, selezionare il collegamento all'endpoint nell'output del lavoro per visualizzarlo. Qui è possibile analizzare le metriche di training, verificare che il processo usi il componente e l'ambiente dal registro ed esaminare il modello addestrato. Annotare il name del processo dall'output o trovare le stesse informazioni dalla panoramica del processo in studio di Azure Machine Learning. Queste informazioni saranno necessarie per scaricare il modello sottoposto a training nella sezione successiva sulla creazione di modelli nel Registro di sistema.
Creare un modello nel Registro di sistema
Informazioni su come creare modelli in un registro in questa sezione. Vedere gestire i modelli per altre informazioni sulla gestione dei modelli in Azure Machine Learning. Vengono esaminati due modi diversi per creare un modello in un registro. Per prima cosa proviene dai file locali. In secondo luogo, consiste nel copiare un modello registrato nell'area di lavoro in un registro.
In entrambe le opzioni si crea un modello con il formato MLflow, che consente di distribuire questo modello per l'inferenza senza scrivere codice di inferenza.
Creare un modello nel Registro di sistema da file locali
Scaricare il modello, disponibile come output di train_job sostituendo <job-name> con il nome del processo dalla sezione precedente. Il modello insieme ai file di metadati MLflow deve essere disponibile in ./artifacts/model/.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --query [0].name | sed 's/\"//g')
# download the default outputs of the train_job
az ml job download --name $train_job_name
# review the model files
ls -l ./artifacts/model/
Suggerimento
Se l'area di lavoro e il gruppo di risorse predefiniti non sono stati configurati come illustrato nella sezione dei prerequisiti, è necessario specificare i --workspace-name parametri e --resource-group per il funzionamento di az ml model create .
Avviso
L'output di az ml job list viene passato a sed. Questa operazione funziona solo nelle shell Linux. Se si è in Windows, eseguire az ml job list --parent-job-name <job-name> --query [0].name e rimuovere qualsiasi virgoletta visualizzata nel nome del processo di training.
Se non riesci a scaricare il modello, puoi trovare un modello MLflow di esempio addestrato dal processo di training nella sezione precedente, nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression/artifacts/model/.
Creare il modello nel Registro di sistema:
# create model in registry
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path ./artifacts/model/ --registry-name <registry-name>
Suggerimento
- Usare un numero casuale per il parametro se viene visualizzato un errore che indica che il nome del modello e la
versionversione esistono già. - Lo stesso comando CLI
az ml model createpuò essere usato per creare modelli in un'area di lavoro o in un registro. L'esecuzione del comando con--workspace-nameil comando crea il modello in un'area di lavoro, mentre l'esecuzione del comando con--registry-namecrea il modello nel Registro di sistema.
Condividere un modello dall'area di lavoro al Registro di sistema
In questo flusso di lavoro si crea prima di tutto il modello nell'area di lavoro e quindi lo si condivide con il Registro di sistema. Questo flusso di lavoro è utile quando si vuole testare il modello nell'area di lavoro prima di condividerlo. Ad esempio, distribuirlo negli endpoint e provare l'inferenza con alcuni dati di test e quindi copiare il modello in un registro se tutto sembra corretto. Questo flusso di lavoro può essere utile anche quando si sviluppa una serie di modelli usando tecniche, framework o parametri diversi e si vuole alzare di livello solo uno di essi al Registro di sistema come candidato di produzione.
Assicurarsi di avere il nome del processo della pipeline della sezione precedente e sostituirlo nel comando per recuperare il nome del processo di training. Successivamente, registrare il modello dall'output del processo di training nell'area di lavoro. Si noti che il parametro --path fa riferimento all'output train_job di output con la sintassi azureml://jobs/$train_job_name/outputs/artifacts/paths/model.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --workspace-name <workspace-name> --resource-group <workspace-resource-group> --query [0].name | sed 's/\"//g')
# create model in workspace
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path azureml://jobs/$train_job_name/outputs/artifacts/paths/model
Suggerimento
- Usare un numero casuale per il
versionparametro se viene visualizzato un errore che indica che il nome del modello e la versione esistono già. - Nel caso in cui l'area di lavoro e il gruppo di risorse predefiniti non siano stati configurati come illustrato nella sezione dei prerequisiti, è necessario specificare i parametri
--workspace-namee--resource-groupaffinchéaz ml model createfunzioni.
Prendere nota del nome e della versione del modello. È possibile verificare se il modello è registrato nell'area di lavoro esplorandolo nell'interfaccia utente di Studio o usando il az ml model show --name nyc-taxi-model --version $model_version comando .
Successivamente, si condivide il modello dall'area di lavoro al Registro di sistema.
# share model registered in workspace to registry
az ml model share --name nyc-taxi-model --version 1 --registry-name <registry-name> --share-with-name <new-name> --share-with-version <new-version>
Suggerimento
- Assicurati di usare il nome e la versione del modello corretti se è stato modificato nel comando
az ml model create. - I
--share-with-nameparametri e--share-with-versionsono obbligatori. Specificano il nome e la versione che il modello avrà nel Registro di sistema.
Annota il name e il version del modello dall'output del comando az ml model create e usali con i comandi az ml model show come segue. Sarà necessario name e version nella sezione successiva quando distribuirai il modello su un endpoint online per l'inferenza.
az ml model show --name <model_name> --version <model_version> --registry-name <registry-name>
È anche possibile usare az ml model list --registry-name <registry-name> per elencare tutti i modelli nel Registro di sistema o esplorare tutti i componenti nell'interfaccia utente studio di Azure Machine Learning. Assicurarsi di passare all'interfaccia utente globale e cercare l'hub Registries.
Lo screenshot seguente mostra un modello in un registro in studio di Azure Machine Learning. Se è stato creato un modello dall'output del processo, quindi è stato copiato il modello dall'area di lavoro al Registro di sistema, si noterà che il modello ha un collegamento al processo che ne ha eseguito il training. È possibile usare tale collegamento per passare al processo di training per esaminare il codice, l'ambiente e i dati usati per eseguire il training del modello.
Distribuire il modello dal Registro di sistema all'endpoint online nell'area di lavoro
Nell'ultima sezione si distribuirà un modello dal Registro di sistema a un endpoint online in un'area di lavoro. È possibile scegliere di distribuire qualsiasi area di lavoro a cui si ha accesso nell'organizzazione, purché la posizione dell'area di lavoro sia una delle posizioni supportate dal registro. Questa funzionalità è utile se hai addestrato un modello in un'area di lavoro dev e ora è necessario distribuirlo in un'area test o prod, mantenendo le informazioni sulla storia relative al codice, all'ambiente e ai dati utilizzati per l'addestramento del modello.
Gli endpoint online consentono di distribuire modelli e inviare richieste di inferenza tramite le API REST. Per altre informazioni, vedere Come distribuire e assegnare punteggi a un modello di Machine Learning usando un endpoint online.
Suggerimento
In questo esempio viene usata l'autenticazione basata su chiave per semplicità. Per le distribuzioni di produzione, Microsoft consiglia di Microsoft Entra l'autenticazione basata su token (aad_token), che offre una sicurezza avanzata tramite il controllo degli accessi in base all'identità. Per altre informazioni, vedere Autenticare i client per gli endpoint online.
Creare un endpoint online.
az ml online-endpoint create --name reg-ep-1234
Aggiornare la riga model:deploy.yml disponibile nella cartella cli/jobs/pipelines-with-components/nyc_taxi_data_regression per fare riferimento al nome e alla versione del modello del passaggio precedente. Creare una distribuzione online per l'endpoint online. Il testo deploy.yml è riportato di seguito per riferimento.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: demo
endpoint_name: reg-ep-1234
model: azureml://registries/<registry-name>/models/nyc-taxi-model/versions/1
instance_type: Standard_DS3_v2
instance_count: 1
Creare l'implementazione online. La distribuzione richiede diversi minuti per essere completata.
az ml online-deployment create --file deploy.yml --all-traffic
Recuperare l'URI di assegnazione dei punteggi e inviare una richiesta di assegnazione dei punteggi di esempio. I dati di esempio per la richiesta di assegnazione dei punteggi sono disponibili nella scoring-data.jsoncli/jobs/pipelines-with-components/nyc_taxi_data_regression cartella .
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n reg-ep-1234 -o tsv --query primaryKey)
SCORING_URI=$(az ml online-endpoint show -n reg-ep-1234 -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @./scoring-data.json
Importante
- Per gli endpoint creati con un'identità assegnata dall'utente, è necessaria un'assegnazione di ruolo manuale. L'identità deve avere i ruoli
ACRPulleStorage Blob Data Readera livello di sottoscrizione.
Suggerimento
-
curlil comando funziona solo in Linux. - Se non hai configurato l'area di lavoro e il gruppo di risorse predefiniti come illustrato nella sezione dei prerequisiti, dovrai specificare i parametri
--workspace-nameaffinché i comandiaz ml online-endpointeaz ml online-deploymentfunzionino.
Pulire le risorse
Se non intendi usare la distribuzione, dovresti eliminarla per ridurre i costi. Nell'esempio seguente vengono eliminati l'endpoint e tutte le distribuzioni sottostanti:
az ml online-endpoint delete --name reg-ep-1234 --yes --no-wait