Zainstaluj & Użyj rozszerzenia interfejsu wiersza polecenia dla Azure Machine LearningInstall & use the CLI extension for Azure Machine Learning

Interfejs wiersza polecenia Azure Machine Learning jest rozszerzeniem dla platformy Azure, którydziała na wielu platformach.The Azure Machine Learning CLI is an extension to the Azure CLI, a cross-platform command-line interface for the Azure platform. To rozszerzenie udostępnia polecenia do pracy z Azure Machine Learning.This extension provides commands for working with Azure Machine Learning. Pozwala to zautomatyzować działania uczenia maszynowego.It allows you to automate your machine learning activities. Poniższa lista zawiera przykładowe akcje, które można wykonać przy użyciu rozszerzenia interfejsu wiersza polecenia:The following list provides some example actions that you can do with the CLI extension:

  • Uruchamianie eksperymentów w celu tworzenia modeli uczenia maszynowegoRun experiments to create machine learning models

  • Rejestrowanie modeli uczenia maszynowego do użycia przez klientaRegister machine learning models for customer usage

  • Pakowanie, wdrażanie i śledzenie cyklu życia modeli uczenia maszynowegoPackage, deploy, and track the lifecycle of your machine learning models

Interfejs wiersza polecenia nie zastępuje zestawu SDK Azure Machine Learning.The CLI is not a replacement for the Azure Machine Learning SDK. Jest to narzędzie uzupełniające, które jest zoptymalizowane pod kątem obsługi wysoce sparametryzowanych zadań, które dobrze pasują do automatyzacji.It is a complementary tool that is optimized to handle highly parameterized tasks which suit themselves well to automation.

Wymagania wstępnePrerequisites

Pełne dokumenty referencyjneFull reference docs

Znajdź pełne dokumenty referencyjne dla rozszerzenia platformy Azure — interfejs wiersza polecenia platformy Azure.Find the full reference docs for the azure-cli-ml extension of Azure CLI.

Łączenie interfejsu wiersza polecenia z subskrypcją platformy AzureConnect the CLI to your Azure subscription

Ważne

Jeśli używasz Azure Cloud Shell, możesz pominąć tę sekcję.If you are using the Azure Cloud Shell, you can skip this section. Usługa Cloud Shell automatycznie uwierzytelnia użytkownika przy użyciu konta, które loguje się do subskrypcji platformy Azure.The cloud shell automatically authenticates you using the account you log into your Azure subscription.

Istnieje kilka sposobów uwierzytelniania w ramach subskrypcji platformy Azure z poziomu interfejsu wiersza polecenia.There are several ways that you can authenticate to your Azure subscription from the CLI. Najbardziej podstawowa jest możliwość interakcyjnego uwierzytelniania przy użyciu przeglądarki.The most basic is to interactively authenticate using a browser. Aby uwierzytelnić interaktywnie, Otwórz wiersz polecenia lub terminal i użyj następującego polecenia:To authenticate interactively, open a command line or terminal and use the following command:

az login

Jeśli interfejs wiersza polecenia może otworzyć Twoją domyślną przeglądarkę, zrobi to i załaduje stronę logowania.If the CLI can open your default browser, it will do so and load a sign-in page. W przeciwnym razie musisz otworzyć przeglądarkę i postępować zgodnie z instrukcjami w wierszu polecenia.Otherwise, you need to open a browser and follow the instructions on the command line. Instrukcje obejmują przeglądanie https://aka.ms/devicelogin i wprowadzanie kodu autoryzacji.The instructions involve browsing to https://aka.ms/devicelogin and entering an authorization code.

Porada

Po zalogowaniu zostanie wyświetlona lista subskrypcji skojarzonych z Twoim kontem platformy Azure.After logging in, you see a list of subscriptions associated with your Azure account. Informacje o subskrypcji isDefault: true są aktualnie aktywowanymi subskrypcjami poleceń interfejsu wiersza polecenia platformy Azure.The subscription information with isDefault: true is the currently activated subscription for Azure CLI commands. Ta subskrypcja musi być taka sama, która zawiera obszar roboczy Azure Machine Learning.This subscription must be the same one that contains your Azure Machine Learning workspace. Identyfikator subskrypcji można znaleźć na Azure Portal , odwiedzając stronę przeglądu obszaru roboczego.You can find the subscription ID from the Azure portal by visiting the overview page for your workspace. Możesz również użyć zestawu SDK, aby uzyskać identyfikator subskrypcji z obiektu obszaru roboczego.You can also use the SDK to get the subscription ID from the workspace object. Na przykład Workspace.from_config().subscription_id.For example, Workspace.from_config().subscription_id.

Aby wybrać inną subskrypcję, użyj az account set -s <subscription name or ID> polecenia i określ nazwę lub Identyfikator subskrypcji do przełączenia.To select another subscription, use the az account set -s <subscription name or ID> command and specify the subscription name or ID to switch to. Aby uzyskać więcej informacji na temat wyboru subskrypcji, zobacz Korzystanie z wielu subskrypcji platformy Azure.For more information about subscription selection, see Use multiple Azure Subscriptions.

Aby poznać inne metody uwierzytelniania, zobacz Logowanie za pomocą interfejsu wiersza polecenia platformy Azure.For other methods of authenticating, see Sign in with Azure CLI.

Instalowanie rozszerzeniaInstall the extension

Rozszerzenie jest instalowane automatycznie przy pierwszej próbie użycia polecenia, które zaczyna się od az ml .The extension is automatically installed when you first try to use a command that begins with az ml.

Aktualizowanie rozszerzeniaUpdate the extension

Aby zaktualizować rozszerzenie interfejsu wiersza polecenia Machine Learning, użyj następującego polecenia:To update the Machine Learning CLI extension, use the following command:

az extension update -n azure-cli-ml

Usuwanie rozszerzeniaRemove the extension

Aby usunąć rozszerzenie CLI, użyj następującego polecenia:To remove the CLI extension, use the following command:

az extension remove -n azure-cli-ml

Zarządzanie zasobamiResource management

Następujące polecenia pokazują, jak używać interfejsu wiersza polecenia do zarządzania zasobami używanymi przez Azure Machine Learning.The following commands demonstrate how to use the CLI to manage resources used by Azure Machine Learning.

  • Jeśli jeszcze tego nie zrobiono, Utwórz grupę zasobów:If you do not already have one, create a resource group:

    az group create -n myresourcegroup -l westus2
    
  • Utwórz obszar roboczy Azure Machine Learning:Create an Azure Machine Learning workspace:

    az ml workspace create -w myworkspace -g myresourcegroup
    

    Aby uzyskać więcej informacji, zobacz AZ ml Workspace Create.For more information, see az ml workspace create.

  • Dołącz konfigurację obszaru roboczego do folderu, aby włączyć świadomość kontekstową interfejsu wiersza polecenia.Attach a workspace configuration to a folder to enable CLI contextual awareness.

    az ml folder attach -w myworkspace -g myresourcegroup
    

    To polecenie tworzy .azureml podkatalog zawierający przykładowe pliki środowiska runconfig i Conda.This command creates a .azureml subdirectory that contains example runconfig and conda environment files. Zawiera również config.json plik, który jest używany do komunikowania się z obszarem roboczym Azure Machine Learning.It also contains a config.json file that is used to communicate with your Azure Machine Learning workspace.

    Aby uzyskać więcej informacji, zobacz AZ ml folder Attach.For more information, see az ml folder attach.

  • Dołączanie kontenera obiektów blob platformy Azure jako magazynu danych.Attach an Azure blob container as a Datastore.

    az ml datastore attach-blob  -n datastorename -a accountname -c containername
    

    Aby uzyskać więcej informacji, zobacz AZ ml datastore Attach-BLOB.For more information, see az ml datastore attach-blob.

  • Przekaż pliki do magazynu danych.Upload files to a Datastore.

    az ml datastore upload  -n datastorename -p sourcepath
    

    Aby uzyskać więcej informacji, zobacz AZ ml datastore upload.For more information, see az ml datastore upload.

  • Dołącz klaster AKS jako obiekt docelowy obliczeń.Attach an AKS cluster as a Compute Target.

    az ml computetarget attach aks -n myaks -i myaksresourceid -g myresourcegroup -w myworkspace
    

    Aby uzyskać więcej informacji, zobacz AZ ml computetarget Attach AKSFor more information, see az ml computetarget attach aks

Klastry obliczenioweCompute clusters

  • Utwórz nowy zarządzany klaster obliczeniowy.Create a new managed compute cluster.

    az ml computetarget create amlcompute -n cpu --min-nodes 1 --max-nodes 1 -s STANDARD_D3_V2
    
  • Utwórz nowy zarządzany klaster obliczeniowy z zarządzaną tożsamościąCreate a new managed compute cluster with managed identity

    • Tożsamość zarządzana przypisana przez użytkownikaUser-assigned managed identity

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • Tożsamość zarządzana przypisana przez systemSystem-assigned managed identity

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '[system]'
      
  • Dodaj zarządzaną tożsamość do istniejącego klastra:Add a managed identity to an existing cluster:

    • Tożsamość zarządzana przypisana przez użytkownikaUser-assigned managed identity

      az ml computetarget amlcompute identity assign --name cpu-cluster '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • Tożsamość zarządzana przypisana przez systemSystem-assigned managed identity

      az ml computetarget amlcompute identity assign --name cpu-cluster '[system]'
      

Aby uzyskać więcej informacji, zobacz AZ ml computetarget Create amlcompute.For more information, see az ml computetarget create amlcompute.

Uwaga

Azure Machine Learning Klastry obliczeniowe obsługują tylko jedną tożsamość przypisaną do systemu lub wiele tożsamości przypisanych do użytkownika, a nie jednocześnie.Azure Machine Learning compute clusters support only one system-assigned identity or multiple user-assigned identities, not both concurrently.

Wystąpienie obliczenioweCompute instance

Zarządzanie wystąpieniami obliczeniowymi.Manage compute instances. We wszystkich przykładach nazwa wystąpienia obliczeniowego to procesor CPUIn all the examples below, the name of the compute instance is cpu

Uruchom eksperymentyRun experiments

  • Rozpocznij uruchamianie eksperymentu.Start a run of your experiment. Korzystając z tego polecenia, należy określić nazwę pliku runconfig (tekst przed * . runconfig, Jeśli przeglądasz system plików) z parametrem-c.When using this command, specify the name of the runconfig file (the text before *.runconfig if you are looking at your file system) against the -c parameter.

    az ml run submit-script -c sklearn -e testexperiment train.py
    

    Porada

    az ml folder attachPolecenie tworzy .azureml podkatalog, który zawiera dwa przykładowe pliki runconfig.The az ml folder attach command creates a .azureml subdirectory, which contains two example runconfig files.

    Jeśli masz skrypt języka Python, który programowo tworzy obiekt konfiguracji uruchomieniowej, możesz użyć runconfig. Save () , aby zapisać go jako plik runconfig.If you have a Python script that creates a run configuration object programmatically, you can use RunConfig.save() to save it as a runconfig file.

    Pełny schemat runconfig można znaleźć w tym pliku JSON.The full runconfig schema can be found in this JSON file. Schemat jest dokumentem samoobsługowym przez description klucz każdego obiektu.The schema is self-documenting through the description key of each object. Ponadto istnieją wyliczenia dla możliwych wartości i fragmentu szablonu na końcu.Additionally, there are enums for possible values, and a template snippet at the end.

    Aby uzyskać więcej informacji, zobacz AZ ml Run Submit-Script.For more information, see az ml run submit-script.

  • Wyświetl listę eksperymentów:View a list of experiments:

    az ml experiment list
    

    Aby uzyskać więcej informacji, zobacz AZ ml eksperyment list.For more information, see az ml experiment list.

Przebieg z dyskuHyperDrive run

Do przeprowadzenia przebiegu strojenia parametrów można użyć polecenia popełnienia z interfejsem CLI platformy Azure.You can use HyperDrive with Azure CLI to perform parameter tuning runs. Najpierw utwórz plik konfiguracji z dysku w następującym formacie.First, create a HyperDrive configuration file in the following format. Aby uzyskać szczegółowe informacje na temat parametrów strojenia parametrów, zobacz dostrajanie parametrów w artykule dotyczącym modelu.See Tune hyperparameters for your model article for details on hyperparameter tuning parameters.

# hdconfig.yml
sampling: 
    type: random # Supported options: Random, Grid, Bayesian
    parameter_space: # specify a name|expression|values tuple for each parameter.
    - name: --penalty # The name of a script parameter to generate values for.
      expression: choice # supported options: choice, randint, uniform, quniform, loguniform, qloguniform, normal, qnormal, lognormal, qlognormal
      values: [0.5, 1, 1.5] # The list of values, the number of values is dependent on the expression specified.
policy: 
    type: BanditPolicy # Supported options: BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy, NoTerminationPolicy
    evaluation_interval: 1 # Policy properties are policy specific. See the above link for policy specific parameter details.
    slack_factor: 0.2
primary_metric_name: Accuracy # The metric used when evaluating the policy
primary_metric_goal: Maximize # Maximize|Minimize
max_total_runs: 8 # The maximum number of runs to generate
max_concurrent_runs: 2 # The number of runs that can run concurrently.
max_duration_minutes: 100 # The maximum length of time to run the experiment before cancelling.

Dodaj ten plik obok plików konfiguracji uruchomieniowej.Add this file alongside the run configuration files. Następnie prześlij dysk Uruchom za pomocą polecenia:Then submit a HyperDrive run using:

az ml run submit-hyperdrive -e <experiment> -c <runconfig> --hyperdrive-configuration-name <hdconfig> my_train.py

Zwróć uwagę na sekcję argumenty w runconfig i przestrzeni parametrów w pliku config. Zawierają one argumenty wiersza polecenia, które mają być przekazane do skryptu szkoleniowego.Note the arguments section in runconfig and parameter space in HyperDrive config. They contain the command-line arguments to be passed to training script. Wartość w runconfig pozostaje taka sama dla każdej iteracji, podczas gdy zakres w konfiguracji dysku jest powtarzany.The value in runconfig stays the same for each iteration, while the range in HyperDrive config is iterated over. Nie określaj tego samego argumentu w obu plikach.Do not specify the same argument in both files.

Zarządzanie zestawem danychDataset management

Następujące polecenia przedstawiają sposób pracy z zestawami danych w Azure Machine Learning:The following commands demonstrate how to work with datasets in Azure Machine Learning:

  • Rejestrowanie zestawu danych:Register a dataset:

    az ml dataset register -f mydataset.json
    

    Aby uzyskać informacje dotyczące formatu pliku JSON używanego do definiowania zestawu danych, użyj az ml dataset register --show-template .For information on the format of the JSON file used to define the dataset, use az ml dataset register --show-template.

    Aby uzyskać więcej informacji, zobacz AZ ml DataSet dataregister.For more information, see az ml dataset register.

  • Wyświetl listę wszystkich zestawów danych w obszarze roboczym:List all datasets in a workspace:

    az ml dataset list
    

    Aby uzyskać więcej informacji, zobacz AZ ml DataSet list.For more information, see az ml dataset list.

  • Pobierz szczegóły zestawu danych:Get details of a dataset:

    az ml dataset show -n dataset-name
    

    Aby uzyskać więcej informacji, zobacz AZ ml DataSet show.For more information, see az ml dataset show.

  • Wyrejestruj zestaw danych:Unregister a dataset:

    az ml dataset unregister -n dataset-name
    

    Aby uzyskać więcej informacji, zobacz AZ ml DataSet Unregister.For more information, see az ml dataset unregister.

Zarządzanie środowiskiemEnvironment management

Następujące polecenia pokazują, jak tworzyć, rejestrować i wyświetlać listę środowisk Azure Machine Learning dla obszaru roboczego:The following commands demonstrate how to create, register, and list Azure Machine Learning environments for your workspace:

Schemat konfiguracji środowiskaEnvironment configuration schema

Jeśli użyto az ml environment scaffold polecenia, generuje azureml_environment.json plik szablonu, który może być modyfikowany i używany do tworzenia niestandardowych konfiguracji środowiska przy użyciu interfejsu wiersza polecenia.If you used the az ml environment scaffold command, it generates a template azureml_environment.json file that can be modified and used to create custom environment configurations with the CLI. Obiekt najwyższego poziomu jest luźno mapowany do Environment klasy w zestawie SDK języka Python.The top level object loosely maps to the Environment class in the Python SDK.

{
    "name": "testenv",
    "version": null,
    "environmentVariables": {
        "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
    },
    "python": {
        "userManagedDependencies": false,
        "interpreterPath": "python",
        "condaDependenciesFile": null,
        "baseCondaEnvironment": null
    },
    "docker": {
        "enabled": false,
        "baseImage": "mcr.microsoft.com/azureml/base:intelmpi2018.3-ubuntu16.04",
        "baseDockerfile": null,
        "sharedVolumes": true,
        "shmSize": "2g",
        "arguments": [],
        "baseImageRegistry": {
            "address": null,
            "username": null,
            "password": null
        }
    },
    "spark": {
        "repositories": [],
        "packages": [],
        "precachePackages": true
    },
    "databricks": {
        "mavenLibraries": [],
        "pypiLibraries": [],
        "rcranLibraries": [],
        "jarLibraries": [],
        "eggLibraries": []
    },
    "inferencingStackVersion": null
}

Poniższa tabela zawiera szczegółowe informacje o każdym polu najwyższego poziomu w pliku JSON, jego typie i opisie.The following table details each top-level field in the JSON file, it's type, and a description. Jeśli typ obiektu jest połączony z klasą z zestawu Python SDK, istnieje luźne dopasowanie 1:1 między wszystkimi polami JSON i nazwą zmiennej publicznej w klasie języka Python.If an object type is linked to a class from the Python SDK, there is a loose 1:1 match between each JSON field and the public variable name in the Python class. W niektórych przypadkach pole może mapować do argumentu konstruktora, a nie zmiennej klasy.In some cases the field may map to a constructor argument rather than a class variable. Na przykład pole jest environmentVariables mapowane na environment_variables zmienną w Environment klasie.For example, the environmentVariables field maps to the environment_variables variable in the Environment class.

Pole JSONJSON field TypType OpisDescription
name string Nazwa środowiska.Name of the environment. Nie rozpoczynaj nazwy od firmy Microsoft ani platformy Azure.Do not start name with Microsoft or AzureML.
version string Wersja środowiska.Version of the environment.
environmentVariables {string: string} Mapa skrótu nazw zmiennych środowiskowych i wartości.A hash-map of environment variable names and values.
python PythonSectionHat definiuje środowisko i interpreter języka Python do użycia w docelowym zasobie obliczeniowym.PythonSectionhat defines the Python environment and interpreter to use on target compute resource.
docker DockerSection Definiuje ustawienia w celu dostosowania obrazu platformy Docker skompilowanego do specyfikacji środowiska.Defines settings to customize the Docker image built to the environment's specifications.
spark SparkSection Sekcja konfiguruje ustawienia platformy Spark.The section configures Spark settings. Jest on używany tylko wtedy, gdy platforma jest ustawiona na PySpark.It is only used when framework is set to PySpark.
databricks DatabricksSection Konfiguruje zależności biblioteki datakosteks.Configures Databricks library dependencies.
inferencingStackVersion string Określa wersję stosu inferencing dodaną do obrazu.Specifies the inferencing stack version added to the image. Aby uniknąć dodawania stosu inferencing, pozostaw to pole null .To avoid adding an inferencing stack, leave this field null. Prawidłowa wartość: "Najnowsza".Valid value: "latest".

Zarządzanie potoku MLML pipeline management

Następujące polecenia pokazują, jak korzystać z potoków uczenia maszynowego:The following commands demonstrate how to work with machine learning pipelines:

Rejestracja modelu, profilowanie, wdrażanieModel registration, profiling, deployment

Następujące polecenia pokazują, jak zarejestrować szkolony model, a następnie wdrożyć go jako usługę produkcyjną:The following commands demonstrate how to register a trained model, and then deploy it as a production service:

  • Zarejestruj model przy użyciu Azure Machine Learning:Register a model with Azure Machine Learning:

    az ml model register -n mymodel -p sklearn_regression_model.pkl
    

    Aby uzyskać więcej informacji, zobacz AZ ml model Register.For more information, see az ml model register.

  • Opcjonalne Profilowanie modelu pozwala uzyskać optymalne wartości procesora i pamięci na potrzeby wdrożenia.OPTIONAL Profile your model to get optimal CPU and memory values for deployment.

    az ml model profile -n myprofile -m mymodel:1 --ic inferenceconfig.json -d "{\"data\": [[1,2,3,4,5,6,7,8,9,10],[10,9,8,7,6,5,4,3,2,1]]}" -t myprofileresult.json
    

    Aby uzyskać więcej informacji, zobacz AZ ml model profile.For more information, see az ml model profile.

  • Wdrażanie modelu w programie AKSDeploy your model to AKS

    az ml model deploy -n myservice -m mymodel:1 --ic inferenceconfig.json --dc deploymentconfig.json --ct akscomputetarget
    

    Aby uzyskać więcej informacji na temat schematu pliku konfiguracji wnioskowania, zobacz Schemat konfiguracji wnioskowania.For more information on the inference configuration file schema, see Inference configuration schema.

    Aby uzyskać więcej informacji na temat schematu pliku konfiguracji wdrożenia, zobacz Schemat konfiguracji wdrożenia.For more information on the deployment configuration file schema, see Deployment configuration schema.

    Aby uzyskać więcej informacji, zobacz AZ ml model Deploy.For more information, see az ml model deploy.

Schemat konfiguracji wnioskowaniaInference configuration schema

Wpisy w dokumencie są inferenceconfig.json mapowane na parametry klasy InferenceConfig .The entries in the inferenceconfig.json document map to the parameters for the InferenceConfig class. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON a parametrami metody:The following table describes the mapping between entities in the JSON document and the parameters for the method:

Jednostka JSONJSON entity Parametr metodyMethod parameter OpisDescription
entryScript entry_script Ścieżka do pliku lokalnego, który zawiera kod do uruchomienia dla obrazu.Path to a local file that contains the code to run for the image.
sourceDirectory source_directory Opcjonalny.Optional. Ścieżka do folderów zawierających wszystkie pliki do utworzenia obrazu, co ułatwia dostęp do dowolnych plików w tym folderze lub podfolderze.Path to folders that contain all files to create the image, which makes it easy to access any files within this folder or subfolder. Można przekazać cały folder z komputera lokalnego jako zależności usługi sieci Web.You can upload an entire folder from your local machine as dependencies for the Webservice. Uwaga: ścieżki entry_script, conda_file i extra_docker_file_steps są ścieżkami względnymi do ścieżki source_directory.Note: your entry_script, conda_file, and extra_docker_file_steps paths are relative paths to the source_directory path.
environment environment Opcjonalny.Optional. ŚrodowiskoAzure Machine Learning.Azure Machine Learning environment.

W pliku konfiguracyjnym wnioskowania można uwzględnić pełne specyfikacje środowiska Azure Machine Learning.You can include full specifications of an Azure Machine Learning environment in the inference configuration file. Jeśli to środowisko nie istnieje w obszarze roboczym, Azure Machine Learning utworzy je.If this environment doesn't exist in your workspace, Azure Machine Learning will create it. W przeciwnym razie Azure Machine Learning zaktualizuje środowisko w razie potrzeby.Otherwise, Azure Machine Learning will update the environment if necessary. Poniższy kod JSON jest przykładem:The following JSON is an example:

{
    "entryScript": "score.py",
    "environment": {
        "docker": {
            "arguments": [],
            "baseDockerfile": null,
            "baseImage": "mcr.microsoft.com/azureml/base:intelmpi2018.3-ubuntu16.04",
            "enabled": false,
            "sharedVolumes": true,
            "shmSize": null
        },
        "environmentVariables": {
            "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
        },
        "name": "my-deploy-env",
        "python": {
            "baseCondaEnvironment": null,
            "condaDependencies": {
                "channels": [
                    "conda-forge"
                ],
                "dependencies": [
                    "python=3.6.2",
                    {
                        "pip": [
                            "azureml-defaults",
                            "azureml-telemetry",
                            "scikit-learn==0.22.1",
                            "inference-schema[numpy-support]"
                        ]
                    }
                ],
                "name": "project_environment"
            },
            "condaDependenciesFile": null,
            "interpreterPath": "python",
            "userManagedDependencies": false
        },
        "version": "1"
    }
}

Można również użyć istniejącego środowiska Azure Machine Learning w oddzielnych parametrach interfejsu wiersza polecenia i usunąć klucz "Environment" z pliku konfiguracyjnego wnioskowania.You can also use an existing Azure Machine Learning environment in separated CLI parameters and remove the "environment" key from the inference configuration file. Użyj-e dla nazwy środowiska i--EV dla wersji środowiska.Use -e for the environment name, and --ev for the environment version. Jeśli nie określisz wartość--EV, zostanie użyta Najnowsza wersja.If you don't specify --ev, the latest version will be used. Oto przykład pliku konfiguracyjnego wnioskowania:Here is an example of an inference configuration file:

{
    "entryScript": "score.py",
    "sourceDirectory": null
}

Następujące polecenie pokazuje, jak wdrożyć model przy użyciu poprzedniego pliku konfiguracyjnego wnioskowania (o nazwie myInferenceConfig.json).The following command demonstrates how to deploy a model using the previous inference configuration file (named myInferenceConfig.json).

Używa również najnowszej wersji istniejącego środowiska Azure Machine Learning (o nazwie "Azure-minimum").It also uses the latest version of an existing Azure Machine Learning environment (named AzureML-Minimal).

az ml model deploy -m mymodel:1 --ic myInferenceConfig.json -e AzureML-Minimal --dc deploymentconfig.json

Schemat konfiguracji wdrożeniaDeployment configuration schema

Schemat konfiguracji wdrożenia lokalnegoLocal deployment configuration schema

Wpisy w dokumencie są deploymentconfig.json mapowane na parametry LocalWebservice.deploy_configuration.The entries in the deploymentconfig.json document map to the parameters for LocalWebservice.deploy_configuration. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON a parametrami metody:The following table describes the mapping between the entities in the JSON document and the parameters for the method:

Jednostka JSONJSON entity Parametr metodyMethod parameter OpisDescription
computeType NANA Docelowy zasób obliczeniowy.The compute target. Dla lokalnych obiektów docelowych wartość musi być local .For local targets, the value must be local.
port port Port lokalny, na którym ma zostać ujawniony punkt końcowy HTTP usługi.The local port on which to expose the service's HTTP endpoint.

Ten kod JSON jest przykładową konfiguracją wdrożenia do użycia z interfejsem wiersza polecenia:This JSON is an example deployment configuration for use with the CLI:

{
    "computeType": "local",
    "port": 32267
}

Schemat konfiguracji wdrożenia wystąpienia kontenera platformy AzureAzure Container Instance deployment configuration schema

Wpisy w dokumencie są deploymentconfig.json mapowane na parametry AciWebservice.deploy_configuration.The entries in the deploymentconfig.json document map to the parameters for AciWebservice.deploy_configuration. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON a parametrami metody:The following table describes the mapping between the entities in the JSON document and the parameters for the method:

Jednostka JSONJSON entity Parametr metodyMethod parameter OpisDescription
computeType NANA Docelowy zasób obliczeniowy.The compute target. Dla ACI wartość musi być ACI .For ACI, the value must be ACI.
containerResourceRequirements NANA Kontener dla jednostek procesora i pamięci.Container for the CPU and memory entities.
  cpu cpu_cores Liczba rdzeni procesora CPU do przydzielenia.The number of CPU cores to allocate. Wartości domyślne 0.1Defaults, 0.1
  memoryInGB memory_gb Ilość pamięci (w GB) do przydzielenia dla tej usługi sieci Web.The amount of memory (in GB) to allocate for this web service. Wartooć 0.5Default, 0.5
location location Region świadczenia usługi Azure, w którym ma zostać wdrożona ta usługa sieci Web.The Azure region to deploy this Webservice to. Jeśli nie zostanie określona, zostanie użyta Lokalizacja obszaru roboczego.If not specified the Workspace location will be used. Więcej szczegółów na temat dostępnych regionów można znaleźć tutaj: regiony ACIMore details on available regions can be found here: ACI Regions
authEnabled auth_enabled Określa, czy włączyć uwierzytelnianie dla tej usługi sieci Web.Whether to enable auth for this Webservice. Wartość domyślna to falseDefaults to False
sslEnabled ssl_enabled Określa, czy włączyć protokół SSL dla tej usługi sieci Web.Whether to enable SSL for this Webservice. Wartością domyślną jest false.Defaults to False.
appInsightsEnabled enable_app_insights Określa, czy włączyć AppInsights dla tej usługi sieci Web.Whether to enable AppInsights for this Webservice. Wartość domyślna to falseDefaults to False
sslCertificate ssl_cert_pem_file Plik certyfikatu wymagany w przypadku włączenia protokołu SSLThe cert file needed if SSL is enabled
sslKey ssl_key_pem_file Plik klucza wymagany w przypadku włączenia protokołu SSLThe key file needed if SSL is enabled
cname ssl_cname Rekord CNAME dla jeśli jest włączony protokół SSLThe cname for if SSL is enabled
dnsNameLabel dns_name_label Etykieta nazwy DNS dla punktu końcowego oceniania.The dns name label for the scoring endpoint. Jeśli nie zostanie określona, zostanie wygenerowana unikatowa etykieta nazwy DNS dla punktu końcowego oceniania.If not specified a unique dns name label will be generated for the scoring endpoint.

Poniższy kod JSON jest przykładową konfiguracją wdrożenia do użycia z interfejsem wiersza polecenia:The following JSON is an example deployment configuration for use with the CLI:

{
    "computeType": "aci",
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    },
    "authEnabled": true,
    "sslEnabled": false,
    "appInsightsEnabled": false
}

Schemat konfiguracji wdrożenia usługi Azure KubernetesAzure Kubernetes Service deployment configuration schema

Wpisy w dokumencie są deploymentconfig.json mapowane na parametry AksWebservice.deploy_configuration.The entries in the deploymentconfig.json document map to the parameters for AksWebservice.deploy_configuration. W poniższej tabeli opisano mapowanie między jednostkami w dokumencie JSON a parametrami metody:The following table describes the mapping between the entities in the JSON document and the parameters for the method:

Jednostka JSONJSON entity Parametr metodyMethod parameter OpisDescription
computeType NANA Docelowy zasób obliczeniowy.The compute target. Dla AKS wartość musi być aks .For AKS, the value must be aks.
autoScaler NANA Zawiera elementy konfiguracji skalowania automatycznego.Contains configuration elements for autoscale. Zobacz tabelę skalowania automatycznego.See the autoscaler table.
  autoscaleEnabled autoscale_enabled Określa, czy włączyć skalowanie automatyczne dla usługi sieci Web.Whether to enable autoscaling for the web service. Jeśli numReplicas = 0 True ; w przeciwnym razie, False .If numReplicas = 0, True; otherwise, False.
  minReplicas autoscale_min_replicas Minimalna liczba kontenerów, które mają być używane podczas automatycznego skalowania tej usługi sieci Web.The minimum number of containers to use when autoscaling this web service. Wartość domyślna 1 .Default, 1.
  maxReplicas autoscale_max_replicas Maksymalna liczba kontenerów, które mają być używane podczas automatycznego skalowania tej usługi sieci Web.The maximum number of containers to use when autoscaling this web service. Wartość domyślna 10 .Default, 10.
  refreshPeriodInSeconds autoscale_refresh_seconds Jak często automatyczne skalowanie próbuje skalować tę usługę sieci Web.How often the autoscaler attempts to scale this web service. Wartość domyślna 1 .Default, 1.
  targetUtilization autoscale_target_utilization Użycie docelowe (w procentach z 100), które ma być podejmowane przez Autoskalowanie dla tej usługi sieci Web.The target utilization (in percent out of 100) that the autoscaler should attempt to maintain for this web service. Wartość domyślna 70 .Default, 70.
dataCollection NANA Zawiera elementy konfiguracji do zbierania danych.Contains configuration elements for data collection.
  storageEnabled collect_model_data Określa, czy włączyć zbieranie danych modelu dla usługi sieci Web.Whether to enable model data collection for the web service. Wartość domyślna False .Default, False.
authEnabled auth_enabled Określa, czy należy włączyć uwierzytelnianie klucza dla usługi sieci Web.Whether or not to enable key authentication for the web service. Oba tokenAuthEnabled i authEnabled nie mogą być True .Both tokenAuthEnabled and authEnabled cannot be True. Wartość domyślna True .Default, True.
tokenAuthEnabled token_auth_enabled Określa, czy włączyć uwierzytelnianie tokenu dla usługi sieci Web.Whether or not to enable token authentication for the web service. Oba tokenAuthEnabled i authEnabled nie mogą być True .Both tokenAuthEnabled and authEnabled cannot be True. Wartość domyślna False .Default, False.
containerResourceRequirements NANA Kontener dla jednostek procesora i pamięci.Container for the CPU and memory entities.
  cpu cpu_cores Liczba rdzeni procesora CPU do przydzielenia dla tej usługi sieci Web.The number of CPU cores to allocate for this web service. Wartości domyślne 0.1Defaults, 0.1
  memoryInGB memory_gb Ilość pamięci (w GB) do przydzielenia dla tej usługi sieci Web.The amount of memory (in GB) to allocate for this web service. Wartooć 0.5Default, 0.5
appInsightsEnabled enable_app_insights Określa, czy należy włączyć rejestrowanie Application Insights dla usługi sieci Web.Whether to enable Application Insights logging for the web service. Wartość domyślna False .Default, False.
scoringTimeoutMs scoring_timeout_ms Limit czasu wymuszania dla wywołań oceniania do usługi sieci Web.A timeout to enforce for scoring calls to the web service. Wartość domyślna 60000 .Default, 60000.
maxConcurrentRequestsPerContainer replica_max_concurrent_requests Maksymalna liczba współbieżnych żądań na węzeł dla tej usługi sieci Web.The maximum concurrent requests per node for this web service. Wartość domyślna 1 .Default, 1.
maxQueueWaitMs max_request_wait_time Maksymalny czas pozostawania żądania w kolejce Thee (w milisekundach) przed zwróceniem błędu 503.The maximum time a request will stay in thee queue (in milliseconds) before a 503 error is returned. Wartość domyślna 500 .Default, 500.
numReplicas num_replicas Liczba kontenerów do przydzielenia dla tej usługi sieci Web.The number of containers to allocate for this web service. Brak wartości domyślnej.No default value. Jeśli ten parametr nie jest ustawiony, automatyczne skalowanie jest domyślnie włączone.If this parameter is not set, the autoscaler is enabled by default.
keys NANA Zawiera elementy konfiguracji dla kluczy.Contains configuration elements for keys.
  primaryKey primary_key Podstawowy klucz uwierzytelniania, który ma być używany dla tej usługi sieci WebA primary auth key to use for this Webservice
  secondaryKey secondary_key Pomocniczy klucz uwierzytelniania, który będzie używany przez tę usługę sieci WebA secondary auth key to use for this Webservice
gpuCores gpu_cores Liczba rdzeni procesora GPU (dla repliki kontenerów) do przydzielenia dla tej usługi sieci Web.The number of GPU cores (per-container replica) to allocate for this Webservice. Domyślna wartość wynosi 1.Default is 1. Obsługuje tylko wartości całkowite.Only supports whole number values.
livenessProbeRequirements NANA Zawiera elementy konfiguracji dla wymagań sondowania na żywo.Contains configuration elements for liveness probe requirements.
  periodSeconds period_seconds Jak często (w sekundach) przeprowadzenia sondy na żywo.How often (in seconds) to perform the liveness probe. Wartość domyślna to 10 sekund.Default to 10 seconds. Wartość minimalna to 1.Minimum value is 1.
  initialDelaySeconds initial_delay_seconds Liczba sekund od momentu rozpoczęcia sondowania na żywo przez kontener.Number of seconds after the container has started before liveness probes are initiated. Wartość domyślna to 310Defaults to 310
  timeoutSeconds timeout_seconds Liczba sekund, po upływie których limit czasu sondy jest aktywny. Wartość domyślna to 2 sekundy.Number of seconds after which the liveness probe times out. Defaults to 2 seconds. Wartość minimalna to 1Minimum value is 1
  successThreshold success_threshold Minimalna liczba kolejnych sukcesów sondy na żywo, które mają być uznawane za pomyślne po zakończonym niepowodzeniem.Minimum consecutive successes for the liveness probe to be considered successful after having failed. Wartość domyślna to 1.Defaults to 1. Wartość minimalna to 1.Minimum value is 1.
  failureThreshold failure_threshold Gdy zostanie uruchomiony pod i sonda na żywo, Kubernetes spróbuje failureThreshold razy przed pokazaniem.When a Pod starts and the liveness probe fails, Kubernetes will try failureThreshold times before giving up. Wartość domyślna to 3.Defaults to 3. Wartość minimalna to 1.Minimum value is 1.
namespace namespace Przestrzeń nazw Kubernetes, w której wdrażana jest usługa WebService.The Kubernetes namespace that the webservice is deployed into. Do 63 małych cyfr alfanumerycznych ("od-a", "0"-"9") i łączników ("-").Up to 63 lowercase alphanumeric ('a'-'z', '0'-'9') and hyphen ('-') characters. Pierwszy i ostatni znak nie mogą być łącznikami.The first and last characters can't be hyphens.

Poniższy kod JSON jest przykładową konfiguracją wdrożenia do użycia z interfejsem wiersza polecenia:The following JSON is an example deployment configuration for use with the CLI:

{
    "computeType": "aks",
    "autoScaler":
    {
        "autoscaleEnabled": true,
        "minReplicas": 1,
        "maxReplicas": 3,
        "refreshPeriodInSeconds": 1,
        "targetUtilization": 70
    },
    "dataCollection":
    {
        "storageEnabled": true
    },
    "authEnabled": true,
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    }
}

Następne krokiNext steps