Instalación y uso de la extensión de la CLI para Azure Machine LearningInstall & use the CLI extension for Azure Machine Learning

La CLI de Azure Machine Learning es una extensión de la CLI de Azure, una interfaz de la línea de comandos multiplataforma para la plataforma Azure.The Azure Machine Learning CLI is an extension to the Azure CLI, a cross-platform command-line interface for the Azure platform. Esta extensión proporciona comandos para trabajar con Azure Machine Learning.This extension provides commands for working with Azure Machine Learning. Permite automatizar las actividades de aprendizaje automático.It allows you to automate your machine learning activities. En esta lista se muestran algunas acciones de ejemplo que puede realizar con la extensión de la CLI:The following list provides some example actions that you can do with the CLI extension:

  • Realizar experimentos para crear modelos de aprendizaje automáticoRun experiments to create machine learning models

  • Registrar los modelos de aprendizaje automático para el uso del clienteRegister machine learning models for customer usage

  • Empaquetar, implementar y realizar un seguimiento del ciclo de vida de los modelos de aprendizaje automáticoPackage, deploy, and track the lifecycle of your machine learning models

La CLI no sustituye al SDK de Azure Machine Learning.The CLI is not a replacement for the Azure Machine Learning SDK. Es una herramienta complementaria que está optimizada para administrar tareas con muchos parámetros y que están bien adaptadas para la automatización.It is a complementary tool that is optimized to handle highly parameterized tasks which suit themselves well to automation.

PrerrequisitosPrerequisites

  • Para usar la CLI, debe tener una suscripción de Azure.To use the CLI, you must have an Azure subscription. Si no tiene una suscripción de Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin. Pruebe hoy mismo la versión gratuita o de pago de Azure Machine Learning.Try the free or paid version of Azure Machine Learning today.

  • Para usar los comandos de la CLI de este documento desde su entorno local, necesita la CLI de Azure.To use the CLI commands in this document from your local environment, you need the Azure CLI.

    Si usa el Azure Cloud Shell, la CLI es accesible a través del explorador y reside en la nube.If you use the Azure Cloud Shell, the CLI is accessed through the browser and lives in the cloud.

Documentos de referencia completosFull reference docs

Busque los documentos de referencia completos sobre la extensión azure-cli-ml de la CLI de Azure.Find the full reference docs for the azure-cli-ml extension of Azure CLI.

Conexión de la CLI a una suscripción de AzureConnect the CLI to your Azure subscription

Importante

Puede omitir esta sección si usa Azure Cloud Shell.If you are using the Azure Cloud Shell, you can skip this section. Cloud Shell se autentica automáticamente mediante la cuenta con la que inicia sesión en su suscripción a Azure.The cloud shell automatically authenticates you using the account you log into your Azure subscription.

Hay varias maneras de autenticarse en la suscripción a Azure desde la CLI.There are several ways that you can authenticate to your Azure subscription from the CLI. La manera más básica consiste en autenticarse interactivamente a través de un explorador.The most basic is to interactively authenticate using a browser. Para autenticarse de forma interactiva, abra una línea de comandos o un terminal y use el siguiente comando:To authenticate interactively, open a command line or terminal and use the following command:

az login

Si la CLI puede abrir el explorador predeterminado, lo hará y cargará una página de inicio de sesión.If the CLI can open your default browser, it will do so and load a sign-in page. De lo contrario, tendrá que abrir un explorador y seguir las instrucciones de la línea de comandos.Otherwise, you need to open a browser and follow the instructions on the command line. Las instrucciones implican navegar a https://aka.ms/devicelogin y escribir un código de autorización.The instructions involve browsing to https://aka.ms/devicelogin and entering an authorization code.

Sugerencia

Después de iniciar sesión, verá una lista de suscripciones asociadas con su cuenta de Azure.After logging in, you see a list of subscriptions associated with your Azure account. La información de suscripción con isDefault: true es la suscripción actualmente activada para los comandos de la CLI de Azure.The subscription information with isDefault: true is the currently activated subscription for Azure CLI commands. Esta suscripción debe ser la misma que la que contiene el área de trabajo de Azure Machine Learning.This subscription must be the same one that contains your Azure Machine Learning workspace. Puede buscar el identificador de suscripción en Azure Portal; para ello, visite la página de información general del área de trabajo.You can find the subscription ID from the Azure portal by visiting the overview page for your workspace. También puede usar el SDK para obtener el identificador de suscripción del objeto del área de trabajo.You can also use the SDK to get the subscription ID from the workspace object. Por ejemplo, Workspace.from_config().subscription_id.For example, Workspace.from_config().subscription_id.

Para seleccionar otra suscripción, utilice el comando az account set -s <subscription name or ID> y especifique el nombre o identificador de la suscripción a los que desea cambiar.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. Para obtener más información sobre la selección de la suscripción, consulte Uso de varias suscripciones de Azure.For more information about subscription selection, see Use multiple Azure Subscriptions.

Para obtener otros métodos de autenticación, consulte Inicio de sesión con la CLI de Azure.For other methods of authenticating, see Sign in with Azure CLI.

Instalación de la extensiónInstall the extension

La extensión se instala automáticamente la primera vez que intenta usar un comando que comienza por az ml.The extension is automatically installed when you first try to use a command that begins with az ml.

Actualización de la extensiónUpdate the extension

Para actualizar la extensión de la CLI de Machine Learning, use el siguiente comando:To update the Machine Learning CLI extension, use the following command:

az extension update -n azure-cli-ml

Eliminación de la extensiónRemove the extension

Para eliminar la extensión de la CLI, use el siguiente comando:To remove the CLI extension, use the following command:

az extension remove -n azure-cli-ml

Administración de recursosResource management

Los siguientes comandos muestran cómo utilizar la CLI para administrar los recursos que usa Azure Machine Learning.The following commands demonstrate how to use the CLI to manage resources used by Azure Machine Learning.

  • Cree un grupo de recursos si todavía no tiene uno:If you do not already have one, create a resource group:

    az group create -n myresourcegroup -l westus2
    
  • Cree un área de trabajo de Azure Machine Learning:Create an Azure Machine Learning workspace:

    az ml workspace create -w myworkspace -g myresourcegroup
    

    Para más información, consulte az ml workspace create.For more information, see az ml workspace create.

  • Adjunte una configuración de área de trabajo a una carpeta para permitir el reconocimiento contextual de la CLI.Attach a workspace configuration to a folder to enable CLI contextual awareness.

    az ml folder attach -w myworkspace -g myresourcegroup
    

    Este comando crea un subdirectorio .azureml que contiene archivos de entorno de conda y runconfig de ejemplo.This command creates a .azureml subdirectory that contains example runconfig and conda environment files. También contiene un archivo config.json que se usa para comunicarse con el área de trabajo de Azure Machine Learning.It also contains a config.json file that is used to communicate with your Azure Machine Learning workspace.

    Para obtener más información, consulte az ml folder attach.For more information, see az ml folder attach.

  • Adjunte un contenedor de blobs de Azure como almacén de datos.Attach an Azure blob container as a Datastore.

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

    Para más información, consulte az ml datastore attach-blob.For more information, see az ml datastore attach-blob.

  • Cargue archivos a un almacén de archivos.Upload files to a Datastore.

    az ml datastore upload  -n datastorename -p sourcepath
    

    Para más información, consulte az ml datastore upload.For more information, see az ml datastore upload.

  • Adjunte un clúster de AKS como destino de proceso.Attach an AKS cluster as a Compute Target.

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

    Para más información, consulte az ml computetarget attach aksFor more information, see az ml computetarget attach aks

Clústeres de procesoCompute clusters

  • Cree un nuevo clúster de proceso administrado.Create a new managed compute cluster.

    az ml computetarget create amlcompute -n cpu --min-nodes 1 --max-nodes 1 -s STANDARD_D3_V2
    
  • Cree un nuevo clúster de proceso administrado con identidad administrada.Create a new managed compute cluster with managed identity

    • Identidad administrada asignada por el usuarioUser-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>'
      
    • Identidad administrada asignada por el sistemaSystem-assigned managed identity

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '[system]'
      
  • Agregue una identidad administrada a un clúster existente:Add a managed identity to an existing cluster:

    • Identidad administrada asignada por el usuarioUser-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>'
      
    • Identidad administrada asignada por el sistemaSystem-assigned managed identity

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

Para más información, consulte az ml computetarget create amlcompute.For more information, see az ml computetarget create amlcompute.

Nota

Los clústeres de proceso de Azure Machine Learning solo admiten una identidad asignada por el sistema o varias identidades asignadas por el usuario, no ambas de forma simultánea.Azure Machine Learning compute clusters support only one system-assigned identity or multiple user-assigned identities, not both concurrently.

Instancia de procesoCompute instance

Administrar instancias de proceso.Manage compute instances. En todos los siguientes ejemplos, el nombre de la instancia de proceso es CPUIn all the examples below, the name of the compute instance is cpu

Ejecución de los experimentosRun experiments

  • Inicie la ejecución del experimento.Start a run of your experiment. Cuando use este comando, especifique el nombre del archivo runconfig (el texto que va antes de *.runconfig, si mira el sistema de archivo) con respecto al parámetro -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
    

    Sugerencia

    El comando az ml folder attach crea un subdirectorio .azureml, que contiene dos archivos runconfig de ejemplo.The az ml folder attach command creates a .azureml subdirectory, which contains two example runconfig files.

    Si tiene un script de Python que crea un objeto de configuración de ejecución mediante programación, puede usar RunConfig.save() para guardarlo como un archivo 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.

    El esquema runconfig completo se puede encontrar en este archivo JSON.The full runconfig schema can be found in this JSON file. El esquema se documenta automáticamente mediante la clave description de cada objeto.The schema is self-documenting through the description key of each object. Además, hay enumeraciones de valores posibles y un fragmento de código de plantilla al final.Additionally, there are enums for possible values, and a template snippet at the end.

    Para obtener más información, consulte az ml run submit-script.For more information, see az ml run submit-script.

  • Vea una lista de los experimentos:View a list of experiments:

    az ml experiment list
    

    Para obtener más información, consulte az ml experiment list.For more information, see az ml experiment list.

Ejecución de HyperDriveHyperDrive run

Puede usar HyperDrive con la CLI de Azure para realizar ejecuciones de ajuste de parámetros.You can use HyperDrive with Azure CLI to perform parameter tuning runs. En primer lugar, cree un archivo de configuración de HyperDrive con el siguiente formato.First, create a HyperDrive configuration file in the following format. Consulte el artículo sobre el ajuste de hiperparámetros del modelo para obtener más información sobre los parámetros de ajuste de hiperparámetros.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.

Agregue este archivo junto con los archivos de configuración de ejecución.Add this file alongside the run configuration files. A continuación, envíe una ejecución de HyperDrive mediante:Then submit a HyperDrive run using:

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

Observe la sección arguments (argumentos) en runconfig y el espacio de parámetros en la configuración de HyperDrive. Contienen los argumentos de la línea de comandos que se van a pasar al script de aprendizaje.Note the arguments section in runconfig and parameter space in HyperDrive config. They contain the command-line arguments to be passed to training script. El valor de runconfig permanece igual para cada iteración, mientras que el intervalo de la configuración de HyperDrive se repite en interación.The value in runconfig stays the same for each iteration, while the range in HyperDrive config is iterated over. No especifique el mismo argumento en ambos archivos.Do not specify the same argument in both files.

Administración de conjuntos de datosDataset management

Los siguientes comandos muestran cómo trabajar con conjuntos de datos en Azure Machine Learning:The following commands demonstrate how to work with datasets in Azure Machine Learning:

  • Registre un conjunto de datos:Register a dataset:

    az ml dataset register -f mydataset.json
    

    Para obtener información sobre el formato del archivo JSON que se usa para definir el conjunto de datos, use 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.

    Para más información, consulte az ml dataset register.For more information, see az ml dataset register.

  • Enumerar todos los conjuntos de datos de un área de trabajo:List all datasets in a workspace:

    az ml dataset list
    

    Para más información, consulte az ml dataset list.For more information, see az ml dataset list.

  • Obtenga los detalles de un conjunto de datos:Get details of a dataset:

    az ml dataset show -n dataset-name
    

    Para más información, consulte az ml dataset show.For more information, see az ml dataset show.

  • Anule el registro de un conjunto de datos:Unregister a dataset:

    az ml dataset unregister -n dataset-name
    

    Para más información, consulte az ml dataset unregister.For more information, see az ml dataset unregister.

Administrador de entornosEnvironment management

Los comandos siguientes muestran cómo crear, registrar y enumerar los entornos de Azure Machine Learning para el área de trabajo:The following commands demonstrate how to create, register, and list Azure Machine Learning environments for your workspace:

Esquema de configuración del entornoEnvironment configuration schema

Si usa el comando az ml environment scaffold, se genera un archivo de plantilla azureml_environment.json que puede modificarse y usarse para crear configuraciones de entorno personalizadas con la CLI.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. El objeto de nivel superior se asigna de forma flexible a la clase Environment en el SDK de 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
}

En la tabla que aparece más abajo se detallan todos los campos de nivel superior del archivo JSON, su tipo y su descripción.The following table details each top-level field in the JSON file, it's type, and a description. Si un tipo de objeto está vinculado a una clase del SDK de Python, hay una coincidencia 1:1 débil entre cada campo JSON y el nombre de la variable pública en la clase de 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. En algunos casos, el campo puede asignarse a un argumento de constructor en lugar de a una variable de clase.In some cases the field may map to a constructor argument rather than a class variable. Por ejemplo, el campo environmentVariables se asigna a la variable environment_variables en la clase Environment.For example, the environmentVariables field maps to the environment_variables variable in the Environment class.

Campo JSONJSON field TipoType DescripciónDescription
name string Nombre del entorno.Name of the environment. No escriba Microsoft o AzureML al principio del nombre.Do not start name with Microsoft or AzureML.
version string Versión del entorno.Version of the environment.
environmentVariables {string: string} Mapa hash de nombres y valores de variables de entorno.A hash-map of environment variable names and values.
python PythonSection que define el entorno de Python y el intérprete que se va a usar en el recurso de proceso de destino.PythonSectionhat defines the Python environment and interpreter to use on target compute resource.
docker DockerSection Sección que define la configuración para personalizar la imagen de Docker compilada según las especificaciones del entorno.Defines settings to customize the Docker image built to the environment's specifications.
spark SparkSection Sección que define la configuración de Spark.The section configures Spark settings. Solo se usa cuando el marco se establece en PySpark.It is only used when framework is set to PySpark.
databricks DatabricksSection Sección que define la configuración de las dependencias de las bibliotecas de Databricks.Configures Databricks library dependencies.
inferencingStackVersion string Campo que especifica la versión de la pila de inferencia agregada a la imagen.Specifies the inferencing stack version added to the image. Para evitar agregar una pila de inferencia, deje este campo como null.To avoid adding an inferencing stack, leave this field null. Valor válido: "latest" (más reciente).Valid value: "latest".

Administración de canalizaciones de aprendizaje automáticoML pipeline management

Los siguientes comandos muestran cómo trabajar con canalizaciones de aprendizaje automático:The following commands demonstrate how to work with machine learning pipelines:

Registro del modelo, generación de perfiles, implementaciónModel registration, profiling, deployment

Los siguientes comandos muestran cómo registrar un modelo entrenado e implementarlo como servicio de producción:The following commands demonstrate how to register a trained model, and then deploy it as a production service:

  • Registre un modelo con Azure Machine Learning:Register a model with Azure Machine Learning:

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

    Para más información, consulte az ml model register.For more information, see az ml model register.

  • OPCIONAL Genere un perfil del modelo para obtener los valores óptimos de CPU y memoria para la implementación.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
    

    Para más información, consulte az ml model profile.For more information, see az ml model profile.

  • Implementación del modelo en AKSDeploy your model to AKS

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

    Para más información sobre el esquema del archivo de configuración de inferencia, consulte Esquema de configuración de inferencia.For more information on the inference configuration file schema, see Inference configuration schema.

    Para más información sobre el esquema del archivo de configuración de implementación, consulte Esquema de configuración de implementación.For more information on the deployment configuration file schema, see Deployment configuration schema.

    Para más información, consulte az ml model deploy.For more information, see az ml model deploy.

Esquema de configuración de inferenciaInference configuration schema

Las entidades del documento inferenceconfig.json se asignan a los parámetros de la clase InferenceConfig.The entries in the inferenceconfig.json document map to the parameters for the InferenceConfig class. En la tabla siguiente se describe la asignación entre las entidades del documento JSON y los parámetros del método:The following table describes the mapping between entities in the JSON document and the parameters for the method:

Entidad JSONJSON entity Parámetro del métodoMethod parameter DescriptionDescription
entryScript entry_script Ruta de acceso al archivo local que contiene el código que se ejecuta para la imagen.Path to a local file that contains the code to run for the image.
sourceDirectory source_directory Opcional.Optional. Ruta de acceso a carpetas que contienen todos los archivos para crear la imagen, lo que facilita el acceso a los archivos de esta carpeta o subcarpeta.Path to folders that contain all files to create the image, which makes it easy to access any files within this folder or subfolder. Puede cargar una carpeta completa desde la máquina local como dependencias para el servicio web.You can upload an entire folder from your local machine as dependencies for the Webservice. Nota: Las rutas de acceso entry_script, conda_file y extra_docker_file_steps son rutas de acceso relativas a la ruta de acceso source_directory.Note: your entry_script, conda_file, and extra_docker_file_steps paths are relative paths to the source_directory path.
environment environment Opcional.Optional. Entorno de Azure Machine Learning.Azure Machine Learning environment.

Puede incluir especificaciones completas de un entorno de Azure Machine Learning en el archivo de configuración de inferencia.You can include full specifications of an Azure Machine Learning environment in the inference configuration file. Si este entorno no existe en el área de trabajo, Azure Machine Learning lo creará.If this environment doesn't exist in your workspace, Azure Machine Learning will create it. De lo contrario, Azure Machine Learning actualizará el entorno si es necesario.Otherwise, Azure Machine Learning will update the environment if necessary. El siguiente código JSON es un ejemplo: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"
    }
}

También puede usar un entorno de Azure Machine Learning existente en parámetros de la CLI distintos y quitar la clave de "entorno" del archivo de configuración de inferencia.You can also use an existing Azure Machine Learning environment in separated CLI parameters and remove the "environment" key from the inference configuration file. Use -e como nombre del entorno y --ev como versión del entorno.Use -e for the environment name, and --ev for the environment version. Si no especifica --ev, se usará la versión más reciente.If you don't specify --ev, the latest version will be used. Este es un ejemplo de un archivo de configuración de inferencia:Here is an example of an inference configuration file:

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

El siguiente comando muestra cómo implementar un modelo mediante el archivo de configuración de inferencia anterior (denominado myInferenceConfig.json).The following command demonstrates how to deploy a model using the previous inference configuration file (named myInferenceConfig.json).

También usa la versión más reciente de un entorno existente de Azure Machine Learning (llamado AzureML-Minimal).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

Esquema de configuración de implementaciónDeployment configuration schema

Esquema de configuración de implementación localLocal deployment configuration schema

Las entradas del documento deploymentconfig.json se asignan a los parámetros de LocalWebservice.deploy_configuration.The entries in the deploymentconfig.json document map to the parameters for LocalWebservice.deploy_configuration. En la tabla siguiente se describe la asignación entre las entidades del documento JSON y los parámetros del método:The following table describes the mapping between the entities in the JSON document and the parameters for the method:

Entidad JSONJSON entity Parámetro del métodoMethod parameter DescriptionDescription
computeType N/DNA El destino de proceso.The compute target. Para los destinos locales, el valor tiene que ser local.For local targets, the value must be local.
port port Puerto local en el que se va a exponer el punto de conexión HTTP del servicio.The local port on which to expose the service's HTTP endpoint.

Este elemento JSON es un ejemplo de la configuración de implementación que se puede usar con la CLI:This JSON is an example deployment configuration for use with the CLI:

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

Guarde este JSON como un archivo llamado deploymentconfig.json.Save this JSON as a file called deploymentconfig.json.

Esquema de configuración de implementación de Azure Container InstancesAzure Container Instance deployment configuration schema

Las entradas del documento deploymentconfig.json se asignan a los parámetros de AciWebservice.deploy_configuration.The entries in the deploymentconfig.json document map to the parameters for AciWebservice.deploy_configuration. En la tabla siguiente se describe la asignación entre las entidades del documento JSON y los parámetros del método:The following table describes the mapping between the entities in the JSON document and the parameters for the method:

Entidad JSONJSON entity Parámetro del métodoMethod parameter DescriptionDescription
computeType N/DNA El destino de proceso.The compute target. Para ACI, el valor debe ser ACI.For ACI, the value must be ACI.
containerResourceRequirements N/DNA Contenedor de las entidades de CPU y memoria.Container for the CPU and memory entities.
  cpu cpu_cores Número de núcleos de CPU que se van a asignar.The number of CPU cores to allocate. El valor predeterminado es 0.1.Defaults, 0.1
  memoryInGB memory_gb Cantidad de memoria (en GB) que se va a asignar a este servicio web.The amount of memory (in GB) to allocate for this web service. El valor predeterminado es 0.5.Default, 0.5
location location Región de Azure en la que se implementará este servicio web.The Azure region to deploy this Webservice to. Si no se especifica, se usará la ubicación del área de trabajo.If not specified the Workspace location will be used. Aquí puede encontrar más información sobre las regiones disponibles: regiones de ACIMore details on available regions can be found here: ACI Regions
authEnabled auth_enabled Indica si se debe habilitar la autenticación para este servicio web.Whether to enable auth for this Webservice. El valor predeterminado es False.Defaults to False
sslEnabled ssl_enabled Indica si se debe habilitar SSL para este servicio web.Whether to enable SSL for this Webservice. El valor predeterminado es False.Defaults to False.
appInsightsEnabled enable_app_insights Indica si se debe habilitar AppInsights para este servicio web.Whether to enable AppInsights for this Webservice. El valor predeterminado es False.Defaults to False
sslCertificate ssl_cert_pem_file Archivo de certificado necesario si SSL está habilitadoThe cert file needed if SSL is enabled
sslKey ssl_key_pem_file Archivo de clave necesario si SSL está habilitadoThe key file needed if SSL is enabled
cname ssl_cname CNAME si SSL está habilitadoThe cname for if SSL is enabled
dnsNameLabel dns_name_label Etiqueta del nombre DNS para el punto de conexión de puntuación.The dns name label for the scoring endpoint. Si no se especifica, se generará una etiqueta de nombre DNS única para el punto de conexión de puntuación.If not specified a unique dns name label will be generated for the scoring endpoint.

El siguiente elemento JSON es un ejemplo de la configuración de implementación que se puede usar con la CLI: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
}

Esquema de configuración de implementación de Azure Kubernetes ServiceAzure Kubernetes Service deployment configuration schema

Las entradas del documento deploymentconfig.json se asignan a los parámetros de AksWebservice.deploy_configuration.The entries in the deploymentconfig.json document map to the parameters for AksWebservice.deploy_configuration. En la tabla siguiente se describe la asignación entre las entidades del documento JSON y los parámetros del método:The following table describes the mapping between the entities in the JSON document and the parameters for the method:

Entidad JSONJSON entity Parámetro del métodoMethod parameter DescriptionDescription
computeType N/DNA El destino de proceso.The compute target. Para AKS, el valor debe ser aks.For AKS, the value must be aks.
autoScaler N/DNA Contiene elementos de configuración para la escalabilidad automática.Contains configuration elements for autoscale. Consulte la tabla del escalador automático.See the autoscaler table.
  autoscaleEnabled autoscale_enabled Indica si se debe habilitar la escalabilidad automática para el servicio web.Whether to enable autoscaling for the web service. Si numReplicas = 0, True; de lo contrario, False.If numReplicas = 0, True; otherwise, False.
  minReplicas autoscale_min_replicas Número mínimo de contenedores que se van a usar al escalar automáticamente este servicio web.The minimum number of containers to use when autoscaling this web service. El valor predeterminado es 1.Default, 1.
  maxReplicas autoscale_max_replicas Número máximo de contenedores que se van a usar al escalar automáticamente este servicio web.The maximum number of containers to use when autoscaling this web service. El valor predeterminado es 10.Default, 10.
  refreshPeriodInSeconds autoscale_refresh_seconds Frecuencia con la que el escalador automático intenta escalar este servicio web.How often the autoscaler attempts to scale this web service. El valor predeterminado es 1.Default, 1.
  targetUtilization autoscale_target_utilization Uso objetivo (en un porcentaje de 100) que el escalador automático debe intentar mantener para este servicio web.The target utilization (in percent out of 100) that the autoscaler should attempt to maintain for this web service. El valor predeterminado es 70.Default, 70.
dataCollection N/DNA Contiene elementos de configuración para la colección de datos.Contains configuration elements for data collection.
  storageEnabled collect_model_data Indica si se debe habilitar la recopilación de datos del modelo para el servicio web.Whether to enable model data collection for the web service. El valor predeterminado es False.Default, False.
authEnabled auth_enabled Indica si se debe habilitar o no la autenticación mediante clave para el servicio web.Whether or not to enable key authentication for the web service. tokenAuthEnabled y authEnabled no pueden ser True.Both tokenAuthEnabled and authEnabled cannot be True. El valor predeterminado es True.Default, True.
tokenAuthEnabled token_auth_enabled Indica si se debe habilitar o no la autenticación por tokens para el servicio web.Whether or not to enable token authentication for the web service. tokenAuthEnabled y authEnabled no pueden ser True.Both tokenAuthEnabled and authEnabled cannot be True. El valor predeterminado es False.Default, False.
containerResourceRequirements N/DNA Contenedor de las entidades de CPU y memoria.Container for the CPU and memory entities.
  cpu cpu_cores Número de núcleos de CPU que se asigna a este servicio web.The number of CPU cores to allocate for this web service. El valor predeterminado es 0.1.Defaults, 0.1
  memoryInGB memory_gb Cantidad de memoria (en GB) que se va a asignar a este servicio web.The amount of memory (in GB) to allocate for this web service. El valor predeterminado es 0.5.Default, 0.5
appInsightsEnabled enable_app_insights Indica si se debe habilitar el registro de Application Insights para el servicio web.Whether to enable Application Insights logging for the web service. El valor predeterminado es False.Default, False.
scoringTimeoutMs scoring_timeout_ms Tiempo de espera que se aplicará a las llamadas de puntuación al servicio web.A timeout to enforce for scoring calls to the web service. El valor predeterminado es 60000.Default, 60000.
maxConcurrentRequestsPerContainer replica_max_concurrent_requests Número máximo de solicitudes simultáneas por nodo para este servicio web.The maximum concurrent requests per node for this web service. El valor predeterminado es 1.Default, 1.
maxQueueWaitMs max_request_wait_time Tiempo máximo que permanecerá en la cola una solicitud (en milisegundos) antes de que se devuelva un error 503.The maximum time a request will stay in thee queue (in milliseconds) before a 503 error is returned. El valor predeterminado es 500.Default, 500.
numReplicas num_replicas Número de contenedores que se asignarán a este servicio web.The number of containers to allocate for this web service. Ningún valor predeterminado.No default value. Si no se establece este parámetro, el escalador automático se habilita de forma predeterminada.If this parameter is not set, the autoscaler is enabled by default.
keys N/DNA Contiene elementos de configuración para las claves.Contains configuration elements for keys.
  primaryKey primary_key Clave de autenticación principal que se usará para este servicio webA primary auth key to use for this Webservice
  secondaryKey secondary_key Clave de autenticación secundaria que se usará para este servicio webA secondary auth key to use for this Webservice
gpuCores gpu_cores El número de núcleos de GPU (por réplica de contenedor) que se van a asignar a este servicio web.The number of GPU cores (per-container replica) to allocate for this Webservice. El valor predeterminado es 1.Default is 1. Solo admite valores de números enteros.Only supports whole number values.
livenessProbeRequirements N/DNA Contiene elementos de configuración para los requisitos del sondeo de ejecución.Contains configuration elements for liveness probe requirements.
  periodSeconds period_seconds Frecuencia (en segundos) en que se ejecutará el sondeo de ejecución.How often (in seconds) to perform the liveness probe. El valor predeterminado es de 10 segundos.Default to 10 seconds. El valor mínimo es 1.Minimum value is 1.
  initialDelaySeconds initial_delay_seconds Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución.Number of seconds after the container has started before liveness probes are initiated. El valor predeterminado es 310Defaults to 310
  timeoutSeconds timeout_seconds Número de segundos tras los cuales el sondeo de ejecución agota el tiempo de espera. El valor predeterminado es de 2 segundos.Number of seconds after which the liveness probe times out. Defaults to 2 seconds. El valor mínimo es 1Minimum value is 1
  successThreshold success_threshold Número mínimo de valores correctos consecutivos para que el sondeo de ejecución se considere correcto después de que se haya producido un error.Minimum consecutive successes for the liveness probe to be considered successful after having failed. De manera predeterminada, su valor es 1.Defaults to 1. El valor mínimo es 1.Minimum value is 1.
  failureThreshold failure_threshold Cuando se inicie un pod y se produzca un error en el sondeo de ejecución, Kubernetes probará las veces especificadas en failureThreshold antes de abandonarlo.When a Pod starts and the liveness probe fails, Kubernetes will try failureThreshold times before giving up. El valor predeterminado es 3.Defaults to 3. El valor mínimo es 1.Minimum value is 1.
namespace namespace Espacio de nombres de Kubernetes en el que está implementado el servicio web.The Kubernetes namespace that the webservice is deployed into. Hasta 63 caracteres alfanuméricos en minúsculas (de la "a" a la "z" y de "0" a "9") y guiones ("-").Up to 63 lowercase alphanumeric ('a'-'z', '0'-'9') and hyphen ('-') characters. El primer y el último carácter no pueden ser un guion.The first and last characters can't be hyphens.

El siguiente elemento JSON es un ejemplo de la configuración de implementación que se puede usar con la CLI: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
    }
}

Pasos siguientesNext steps