Sdílet prostřednictvím


Nasazení modelů MLflow v dávkových nasazeních ve službě Azure Machine Learning

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

Tento článek popisuje, jak nasadit modely MLflow do služby Azure Machine Learning pro dávkové odvozování pomocí dávkových koncových bodů. Když nasadíte modely MLflow do dávkových koncových bodů, Azure Machine Learning dokončí následující úlohy:

  • Poskytuje základní image nebo kurátorované prostředí MLflow, které obsahuje požadované závislosti pro spuštění dávkové úlohy Machine Learning.
  • Vytvoří kanál dávkové úlohy s bodovacím skriptem, který můžete použít ke zpracování dat pomocí paralelizace.

Další informace o podporovaných typech vstupních souborů a podrobnostech o tom, jak model MLflow funguje, najdete v tématu Důležité informace o nasazení do dávkového odvozování.

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

  • Pracovní prostor služby Azure Machine Learning. Pokud chcete vytvořit pracovní prostor, přečtěte si téma Správa pracovních prostorů Služby Azure Machine Learning.

  • Následující oprávnění v pracovním prostoru Azure Machine Learning:

    • Pro vytváření nebo správu dávkových koncových bodů a nasazení: Použijte roli Vlastník, Přispěvatel nebo Vlastní role, která má přiřazená Microsoft.MachineLearningServices/workspaces/batchEndpoints/* oprávnění.
    • Vytváření nasazení Azure Resource Manageru ve skupině prostředků pracovního prostoru: Použijte roli Vlastník, Přispěvatel nebo Vlastní role, která má přiřazená Microsoft.Resources/deployments/write oprávnění ve skupině prostředků, ve které je pracovní prostor nasazený.
  • Azure Machine Learning CLI nebo sada Azure Machine Learning SDK pro Python:

    Spuštěním následujícího příkazu nainstalujte Azure CLI a ml rozšíření pro Azure Machine Learning:

    az extension add -n ml
    

    Nasazení součástí kanálu pro dávkové koncové body jsou zavedena ve verzi 2.7 ml rozšíření pro Azure CLI. az extension update --name ml Pomocí příkazu získejte nejnovější verzi.


Připojení k pracovnímu prostoru

Pracovní prostor je prostředek nejvyšší úrovně pro Azure Machine Learning. Poskytuje centralizované místo pro práci se všemi artefakty, které vytvoříte při použití služby Azure Machine Learning. V této části se připojíte k pracovnímu prostoru, ve kterém provádíte úlohy nasazení.

V následujícím příkazu zadejte ID předplatného, název pracovního prostoru, název skupiny prostředků a umístění:

az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>

Prozkoumání příkladu

Příklad v tomto článku ukazuje, jak nasadit model MLflow do dávkového koncového bodu pro provádění dávkových predikcí. Model MLflow je založen na datové sadě UCI Srdeční onemocnění. Databáze obsahuje 76 atributů, ale v příkladu se používá pouze podmnožina 14. Model se snaží předpovědět přítomnost onemocnění srdce u pacienta s celočíselnou hodnotou od 0 (bez přítomnosti) do 1 (přítomnost).

Model se trénuje pomocí klasifikátoru XGBBoost . Všechna požadovaná předzpracování jsou zabalená jako scikit-learn kanál, takže model je kompletní kanál, který přechází z nezpracovaných dat na predikce.

Příklad v tomto článku vychází z ukázek kódu obsažených v úložišti azureml-examples . Pokud chcete příkazy spustit místně, aniž byste museli kopírovat nebo vkládat YAML a další soubory, naklonujte úložiště pomocí následujících příkazů a přejděte do složky pro váš kódovací jazyk:

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

Soubory pro tento příklad jsou umístěny v následující složce:

cd endpoints/batch/deploy-models/heart-classifier-mlflow

Sledování v poznámkových blocích Jupyter

Tuto ukázku můžete sledovat pomocí veřejného poznámkového bloku Jupyter. V naklonovaném úložišti otevřete poznámkový blok mlflow-for-batch-tabular.ipynb .

Nasazení modelu MLflow

V této části nasadíte model MLflow do dávkového koncového bodu, abyste mohli spouštět dávkové odvozování nad novými daty. Než budete pokračovat s nasazením, musíte zajistit, aby byl váš model zaregistrovaný a v pracovním prostoru je dostupný výpočetní cluster.

Registrace modelu

Koncové body služby Batch můžou nasazovat jenom registrované modely. V tomto článku použijete místní kopii modelu v úložišti. V důsledku toho musíte model publikovat jenom do registru v pracovním prostoru.

Poznámka:

Pokud už je model, který nasazujete, zaregistrovaný, můžete pokračovat v části Vytvoření výpočetního clusteru .

Zaregistrujte model spuštěním následujícího příkazu:

MODEL_NAME='heart-classifier-mlflow'
az ml model create --name $MODEL_NAME --type "mlflow_model" --path "model"

Vytvoření výpočetního clusteru

Potřebujete zajistit, aby dávkové nasazení běžela na určité dostupné infrastruktuře (výpočetních prostředcích). Nasazení služby Batch se můžou spouštět na libovolných výpočetních prostředcích služby Machine Learning, které už v pracovním prostoru existují. Stejnou výpočetní infrastrukturu může sdílet několik dávkových nasazení.

V tomto článku pracujete na výpočetním clusteru Machine Learning s názvem cpu-cluster. Následující příklad ověří, že výpočetní prostředky existují v pracovním prostoru nebo vytvoří nový výpočetní objekt.

Vytvoření výpočetního clusteru:

az ml compute create -n batch-cluster --type amlcompute --min-instances 0 --max-instances 5

Vytvoření dávkového koncového bodu

K vytvoření koncového bodu potřebujete název a popis. Název koncového bodu se zobrazí v identifikátoru URI přidruženém k vašemu koncovému bodu, takže musí být jedinečný v rámci oblasti Azure. V oblasti WestUS2 může být například jenom jeden dávkový koncový bod s názvem mybatchendpoint .

  1. Název koncového bodu umístěte do proměnné pro pozdější použití:

    Spusťte následující příkaz:

    ENDPOINT_NAME="heart-classifier"
    
  2. Vytvořte koncový bod:

    1. Pokud chcete vytvořit nový koncový bod, vytvořte YAML konfiguraci, jako je následující kód:

      endpoint.yml

      $schema: https://azuremlschemas.azureedge.net/latest/batchEndpoint.schema.json
      name: heart-classifier-batch
      description: A heart condition classifier for batch inference
      auth_mode: aad_token
      
    2. Pomocí následujícího příkazu vytvořte koncový bod:

      az ml batch-endpoint create -n $ENDPOINT_NAME -f endpoint.yml
      

Vytvoření dávkového nasazení

Modely MLflow nevyžadují, abyste při vytváření nasazení označili prostředí nebo bodovací skript. Automaticky se vytvoří prostředí nebo bodovací skript. Pokud ale chcete přizpůsobit způsob odvozování nasazení, můžete zadat prostředí nebo bodovací skript.

  1. Pokud chcete vytvořit nové nasazení v rámci vytvořeného koncového bodu, vytvořte YAML konfiguraci, jak je znázorněno v následujícím kódu. Můžete zkontrolovat, jestli schéma YAML celého dávkového koncového bodu obsahuje další vlastnosti.

    jednoduchý/deployment.yml nasazení

    $schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
    endpoint_name: heart-classifier-batch
    name: classifier-xgboost-mlflow
    description: A heart condition classifier based on XGBoost
    type: model
    model: azureml:heart-classifier-mlflow@latest
    compute: azureml:batch-cluster
    resources:
      instance_count: 2
    settings:
      max_concurrency_per_instance: 2
      mini_batch_size: 2
      output_action: append_row
      output_file_name: predictions.csv
      retry_settings:
        max_retries: 3
        timeout: 300
      error_threshold: -1
      logging_level: info
    
  2. Vytvořte nasazení pomocí následujícího příkazu:

    az ml batch-deployment create --file deployment-simple/deployment.yml --endpoint-name $ENDPOINT_NAME --set-default
    

Důležité

timeout Nakonfigurujte hodnotu v nasazení na základě toho, jak dlouho trvá spuštění odvozování modelu v jedné dávce. Čím větší je velikost dávky, tím delší timeout je hodnota. Mějte na paměti, že mini_batch_size hodnota označuje počet souborů v dávce, nikoli počet vzorků. Při práci s tabulkovými daty může každý soubor obsahovat více řádků, což zvyšuje dobu potřebnou ke zpracování jednotlivých souborů v dávkovém koncovém bodu. V takovýchpřípadechch timeout

Vyvolání koncového bodu

I když můžete vyvolat konkrétní nasazení uvnitř koncového bodu, je běžné vyvolat samotný koncový bod a nechat koncový bod rozhodnout, které nasazení použít. Tento typ nasazení má název výchozí nasazení. Tento přístup umožňuje změnit výchozí nasazení, které umožňuje změnit model obsluhující nasazení beze změny kontraktu s uživatelem, který vyvolá koncový bod.

K aktualizaci výchozího nasazení použijte následující pokyny:

DEPLOYMENT_NAME="classifier-xgboost-mlflow"
az ml batch-endpoint update --name $ENDPOINT_NAME --set defaults.deployment_name=$DEPLOYMENT_NAME

Koncový bod batch je teď připravený k použití.

Otestování nasazení

K otestování koncového bodu použijete ukázku neoznaených dat umístěných v tomto úložišti, která se dají použít s modelem. Koncové body služby Batch můžou zpracovávat pouze data umístěná v cloudu a přístupná z pracovního prostoru Machine Learning. V tomto příkladu nahrajete ukázku do úložiště dat Machine Learning. Vytvoříte datový asset, který můžete použít k vyvolání koncového bodu pro bodování. Mějte na paměti, že dávkové koncové body přijímají data, která je možné umístit do různých umístění.

  1. Nejprve vytvořte datový asset. Datový prostředek se skládá ze složky s několika soubory CSV, které chceme zpracovat paralelně pomocí dávkových koncových bodů. Tento krok můžete přeskočit, protože vaše data jsou už zaregistrovaná jako datový prostředek nebo chcete použít jiný vstupní typ.

    1. Vytvoření definice datového assetu v YAML:

      heart-dataset-unlabeled.yml

      $schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
      name: heart-dataset-unlabeled
      description: An unlabeled dataset for heart classification.
      type: uri_folder
      path: data
      
    2. Vytvoření datového assetu:

      az ml data create -f heart-dataset-unlabeled.yml
      
  2. Po nahrání dat vyvoláte koncový bod.

    Tip

    V následujícíchpříkazch invoke Koncový bod automaticky směruje úlohu do výchozího nasazení, protože koncový bod má pouze jedno nasazení. Konkrétní nasazení můžete cílit tak, že uvedete argument/parametr deployment_name.

    Spusťte následující příkaz:

    JOB_NAME = $(az ml batch-endpoint invoke --name $ENDPOINT_NAME --input azureml:heart-dataset-unlabeled@latest --query name -o tsv)
    

    Poznámka:

    jq Nástroj nemusí být nainstalován v každé instalaci. Pokyny k instalaci najdete v tématu Stažení jq.

  3. Dávková úloha se spustí hned po vrácení příkazu. Stav úlohy můžete monitorovat, dokud se nedokončí:

    Spusťte následující příkaz:

    az ml job show -n $JOB_NAME --web
    

Analýza výstupů

Výstupní předpovědi se generují v souboru predictions.csv , jak je uvedeno v konfiguraci nasazení. Úloha vygeneruje výstupní pojmenované skóre, kde je tento soubor umístěn. Pro každou dávkovou úlohu se vygeneruje jenom jeden soubor.

Soubor je strukturovaný takto:

  • Jeden řádek na každý datový bod odeslaný do modelu. U tabulkových dat soubor predictions.csv obsahuje jeden řádek pro každý řádek, který je v každém zpracovaném souboru. U jiných datových typů (obrázků, zvuku, textu) je na každý zpracovaný soubor jeden řádek.

  • Následující sloupce jsou v souboru (v zadaném pořadí):

    • row (volitelné): Odpovídající index řádku ve vstupním datovém souboru. Tento sloupec platí jenom v případě, že jsou vstupní data tabulková. Předpovědi se vrátí ve stejném pořadí, v jakém se zobrazí ve vstupním souboru. Můžete se spolehnout na číslo řádku tak, aby odpovídalo odpovídající predikci.

    • prediction: Předpověď přidružená ke vstupním datům. Tato hodnota se vrátí tak, jak je, protože ji poskytla predict(). funkce modelu.

    • file_name: Název souboru, ve kterém se data čtou. V tabulkových datech můžete pomocí tohoto pole určit, které předpovědi patří do jednotlivých vstupních dat.

Výsledky úlohy si můžete stáhnout pomocí názvu úlohy.

K stažení předpovědí použijte následující příkaz:

az ml job download --name $JOB_NAME --output-name score --download-path ./

Po stažení souboru můžete soubor otevřít pomocí preferovaného nástroje pro úpravy. Následující příklad načte předpovědi pomocí datového Pandas rámce.

import pandas as pd

score = pd.read_csv(
    "named-outputs/score/predictions.csv", names=["row", "prediction", "file"]
)

Výstup zobrazí tabulku:

Řádek Predikce Soubor
0 0 heart-unlabeled-0.csv
1 1 heart-unlabeled-0.csv
2 0 heart-unlabeled-0.csv
... ... ...
307 0 heart-unlabeled-3.csv

Tip

Všimněte si, že v tomto příkladu vstupní data obsahují tabulková data ve formátu CSV. Existují čtyři různé vstupní soubory: heart-unlabeled-0.csv, heart-unlabeled-1.csv, heart-unlabeled-2.csv a heart-unlabeled-3.csv.

Kontrola důležitých informací o dávkovém odvozování

Machine Learning podporuje nasazení modelů MLflow do dávkových koncových bodů bez označení hodnoticího skriptu. Tento přístup představuje pohodlný způsob nasazení modelů, které vyžadují zpracování velkých objemů dat podobných dávkovému zpracování. Machine Learning používá informace ve specifikaci modelu MLflow k orchestraci procesu odvozování.

Prozkoumání distribuce práce na pracovních činnostech

Koncové body služby Batch distribuují práci na úrovni souboru pro strukturovaná i nestrukturovaná data. V důsledku toho se pro tuto funkci podporují jenom soubory URI a složky identifikátorů URI. Každý pracovní proces zpracovává dávky Mini batch size souborů najednou. U tabulkových dat dávkové koncové body při distribuci práce nezohlední počet řádků uvnitř každého souboru.

Upozorňující

Vnořené struktury složek se během odvozování neprobídnou. Pokud data rozdělíte pomocí složek, nezapomeňte před pokračováním strukturu zploštět.

Dávkové nasazení volají predict funkci modelu MLflow jednou na soubor. U souborů CSV s více řádky může tato akce v podkladových výpočetních prostředcích tlačit na paměť. Toto chování může zvýšit dobu potřebnou k určení skóre jednoho souboru, zejména u drahých modelů, jako jsou velké jazykové modely. Pokud v protokolech dojde k několika výjimkám z nedostatku paměti nebo záznamům časového limitu, zvažte rozdělení dat v menších souborech s méně řádky nebo implementaci dávkování na úrovni řádků uvnitř hodnoticího skriptu modelu.

Kontrola podpory typů souborů

Následující datové typy jsou podporovány pro dávkové odvozování při nasazování modelů MLflow bez prostředí nebo bodovacího skriptu. Pokud chcete zpracovat jiný typ souboru nebo provést odvození odlišně, můžete nasazení vytvořit přizpůsobením nasazení modelu MLflow pomocí hodnoticího skriptu.

Přípona souboru Typ vrácený jako vstup modelu Požadavek na podpis
.csv, , .parquet.pqt pd.DataFrame ColSpec. Pokud není zadaný, nevynucuje se zadávání sloupců.
.png, .jpg, .jpeg, .tiff, , .bmp.gif np.ndarray TensorSpec. Vstup se přetvaruje tak, aby odpovídal obrazci tenzorů, pokud je k dispozici. Pokud není k dispozici žádný podpis, odvozují se tensory typu np.uint8 . Další informace najdete v tématu Důležité informace o modelech MLflow zpracovávajících obrázky.

Upozorňující

Jakýkoli nepodporovaný soubor, který může být součástí vstupních dat, způsobí selhání úlohy. V takových případech se zobrazí chyba podobná chybě ERROR:azureml:Error processing input file: '/mnt/batch/tasks/.../a-given-file.avro'. Typ souboru avro není podporován.

Vysvětlení vynucení podpisu pro modely MLflow

Úlohy nasazení služby Batch vynucují datové typy vstupu při čtení dat pomocí dostupného podpisu modelu MLflow. V důsledku toho vstup dat odpovídá typům uvedeným v podpisu modelu. Pokud se data nedají analyzovat podle očekávání, úloha selže s chybou podobnou chybě ERROR:azureml:Error processing input file: '/mnt/batch/tasks/.../a-given-file.csv'. Výjimka: neplatný literál pro int() se základem 10: 'value'.

Tip

Podpisy v modelech MLflow jsou volitelné, ale důrazně se doporučuje. Poskytují pohodlný způsob, jak včas odhalit problémy s kompatibilitou dat. Další informace o protokolování modelů pomocí podpisů najdete v tématu Protokolování modelů s vlastním podpisem, prostředím nebo ukázkami.

Podpis modelu modelu můžete zkontrolovat otevřením souboru přidruženého k vašemu MLmodel modelu MLflow. Další informace o tom, jak podpisy fungují v MLflow, najdete v tématu Podpisy v MLflow.

Prozkoumání podpory příchut

Nasazení služby Batch podporují nasazování modelů MLflow pouze s příchutí pyfunc . Pokud chcete nasadit jinou příchuť, přečtěte si téma Přizpůsobení nasazení modelu pomocí hodnoticího skriptu.

Přizpůsobení nasazení modelu pomocí hodnoticího skriptu

Modely MLflow je možné nasadit do dávkových koncových bodů bez označení hodnoticího skriptu v definici nasazení. Můžete se ale přihlásit k označení tohoto souboru (běžně označovaného jako ovladač dávky) a přizpůsobit provádění odvozování.

Tento pracovní postup obvykle vyberete pro následující scénáře:

  • Zpracování typů souborů, které nejsou podporovány dávkovými nasazeními nasazení MLflow
  • Přizpůsobte si, jak model běží, například použití konkrétního typu k načtení pomocí mlflow.<flavor>.load() funkce.
  • Dokončení předběžného nebo následného zpracování v rutině bodování, pokud není dokončeno samotným modelem.
  • Upravte prezentaci modelu, který se dobře nezobrazuje s tabulkovými daty, jako je například tenzorový graf, který představuje obrázek.
  • Povolit modelu čtení dat v blocích dat, protože nemůže zpracovat každý soubor najednou kvůli omezením paměti.

Důležité

Pokud chcete označit bodovací skript pro nasazení modelu MLflow, musíte zadat prostředí, ve kterém se nasazení spouští.

Použití hodnoticího skriptu

Pomocí následujících kroků nasaďte model MLflow s vlastním skriptem bodování:

  1. Určete složku, ve které je umístěn model MLflow.

    1. Na portálu Azure Machine Learning přejděte na Modely.

    2. Vyberte model, který chcete nasadit, a pak vyberte kartu Artefakty .

    3. Poznamenejte si zobrazenou složku. Tato složka byla označena při registraci modelu.

      Snímek obrazovky znázorňující složku, ve které jsou umístěné artefakty modelu

  2. Vytvořte bodovací skript. Všimněte si, jak je součástí init() funkce název předchozí složkymodel.

    deployment-custom/code/batch_driver.py

    # Copyright (c) Microsoft. All rights reserved.
    # Licensed under the MIT license.
    
    import os
    import glob
    import mlflow
    import pandas as pd
    import logging
    
    
    def init():
        global model
        global model_input_types
        global model_output_names
    
        # AZUREML_MODEL_DIR is an environment variable created during deployment
        # It is the path to the model folder
        # Please provide your model's folder name if there's one
        model_path = glob.glob(os.environ["AZUREML_MODEL_DIR"] + "/*/")[0]
    
        # Load the model, it's input types and output names
        model = mlflow.pyfunc.load(model_path)
        if model.metadata and model.metadata.signature:
            if model.metadata.signature.inputs:
                model_input_types = dict(
                    zip(
                        model.metadata.signature.inputs.input_names(),
                        model.metadata.signature.inputs.pandas_types(),
                    )
                )
            if model.metadata.signature.outputs:
                if model.metadata.signature.outputs.has_input_names():
                    model_output_names = model.metadata.signature.outputs.input_names()
                elif len(model.metadata.signature.outputs.input_names()) == 1:
                    model_output_names = ["prediction"]
        else:
            logging.warning(
                "Model doesn't contain a signature. Input data types won't be enforced."
            )
    
    
    def run(mini_batch):
        print(f"run method start: {__file__}, run({len(mini_batch)} files)")
    
        data = pd.concat(
            map(
                lambda fp: pd.read_csv(fp).assign(filename=os.path.basename(fp)), mini_batch
            )
        )
    
        if model_input_types:
            data = data.astype(model_input_types)
    
        # Predict over the input data, minus the column filename which is not part of the model.
        pred = model.predict(data.drop("filename", axis=1))
    
        if pred is not pd.DataFrame:
            if not model_output_names:
                model_output_names = ["pred_col" + str(i) for i in range(pred.shape[1])]
            pred = pd.DataFrame(pred, columns=model_output_names)
    
        return pd.concat([data, pred], axis=1)
    
  3. Vytvořte prostředí, ve kterém lze spustit bodovací skript. Vzhledem k tomu, že model v tomto příkladu je MLflow, požadavky na conda jsou také určeny v balíčku modelu. Další informace o modelech MLflow a zahrnutých souborech naleznete ve formátu MLmodel.

    V tomto kroku vytvoříte prostředí pomocí závislostí conda ze souboru. Musíte také zahrnout azureml-core balíček, který je nutný pro nasazení služby Batch.

    Tip

    Pokud je váš model již zaregistrovaný v registru modelů, můžete stáhnout a zkopírovat soubor přidružený k vašemu conda.yml modelu. Soubor je k dispozici v studio Azure Machine Learning v části Modely>Vyberte model ze seznamu>Artefakty. V kořenové složce vyberte conda.yml soubor a pak vyberte Stáhnout nebo zkopírovat jeho obsah.

    Důležité

    Tento příklad používá prostředí conda zadané na adrese /heart-classifier-mlflow/environment/conda.yaml. Tento soubor byl vytvořen kombinací původního souboru závislostí MLflow conda a přidáním azureml-core balíčku. Soubor nemůžete použít conda.yml přímo z modelu.

    Definice prostředí je součástí samotné definice nasazení jako anonymní prostředí. V nasazení se zobrazí následující řádky:

    environment:
      name: batch-mlflow-xgboost
      image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
      conda_file: environment/conda.yaml
    
  4. Konfigurace nasazení:

    Pokud chcete vytvořit nové nasazení v rámci vytvořeného koncového bodu, vytvořte YAML konfiguraci, jak je znázorněno v následujícím fragmentu kódu. Můžete zkontrolovat, jestli schéma YAML celého dávkového koncového bodu obsahuje další vlastnosti.

    vlastní/deployment.yml nasazení

    $schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
    endpoint_name: heart-classifier-batch
    name: classifier-xgboost-custom
    description: A heart condition classifier based on XGBoost
    type: model
    model: azureml:heart-classifier-mlflow@latest
    environment:
      name: batch-mlflow-xgboost
      image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
      conda_file: environment/conda.yaml
    code_configuration:
      code: code
      scoring_script: batch_driver.py
    compute: azureml:batch-cluster
    resources:
      instance_count: 2
    settings:
      max_concurrency_per_instance: 2
      mini_batch_size: 2
      output_action: append_row
      output_file_name: predictions.csv
      retry_settings:
        max_retries: 3
        timeout: 300
      error_threshold: -1
      logging_level: info
    
  5. Vytvořte nasazení:

    Spusťte následující kód:

    az ml batch-deployment create --file deployment-custom/deployment.yml --endpoint-name $ENDPOINT_NAME
    

Koncový bod batch je teď připravený k použití.

Vyčištění prostředků

Po dokončení cvičení odstraňte prostředky, které už nejsou potřeba.

Spuštěním následujícího kódu odstraňte koncový bod batch a všechna podkladová nasazení:

az ml batch-endpoint delete --name $ENDPOINT_NAME --yes

Tento příkaz neodstraní dávkové bodovací úlohy.