Model class

Definition

Representa el resultado del entrenamiento de machine learning.

Un modelo es el resultado de una Run de aprendizaje de Azure machine learning o de algún otro proceso de entrenamiento del modelo fuera de Azure. Independientemente de cómo se genere el modelo, se puede registrar en un área de trabajo, donde se representa mediante un nombre y una versión. Con la clase de modelo, puede empaquetar modelos para su uso con Docker e implementarlos como un punto de conexión de inferencia.

Para ver un tutorial completo que muestra cómo se crean, administran y consumen los modelos, vea entrenar el modelo de clasificación de imágenes con MNIST Data y scikit-Learn using Azure machine learning.

Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None)
Inheritance
builtins.object
Model

Parameters

workspace
Workspace

Objeto de área de trabajo que contiene el modelo que se va a recuperar.

name
str

Nombre del modelo que se va a recuperar. Se devuelve el modelo más reciente con el nombre especificado, si existe.

id
str

IDENTIFICADOR del modelo que se va a recuperar. Se devuelve el modelo con el identificador especificado, si existe.

tags
builtin.list

Lista opcional de etiquetas utilizadas para filtrar los resultados devueltos. Los resultados se filtran en función de la lista proporcionada, buscando por ' Key ' o ' [Key, value] '. Ejemplo: [' Key ', [' KEY2 ', ' valor KEY2 ']]

properties
builtin.list

Lista opcional de las propiedades que se usan para filtrar los resultados devueltos. Los resultados se filtran en función de la lista proporcionada, buscando por ' Key ' o ' [Key, value] '. Ejemplo: [' Key ', [' KEY2 ', ' valor KEY2 ']]

version
int

Versión del modelo que se va a devolver. Cuando se proporciona junto con name, se devuelve la versión específica del modelo con nombre especificado, si existe.

run_id
str

IDENTIFICADOR opcional que se usa para filtrar los resultados devueltos.

model_framework
str

Nombre de marco opcional usado para filtrar los resultados devueltos. Si se especifica, se devuelven los resultados de los modelos que coinciden con el marco especificado. Vea Framework para ver los valores permitidos.

Comentarios

El constructor del modelo se utiliza para recuperar una representación en la nube de un objeto de modelo asociado al área de trabajo especificada. Se debe proporcionar al menos el nombre o el identificador para recuperar los modelos, pero también hay otras opciones para filtrar, como las etiquetas, las propiedades, el identificador de ejecución y el marco de trabajo.


   from azureml.core.model import Model
   model = Model(ws, 'my_model_name')

Por ejemplo, si tiene un modelo que se almacena en varios archivos, puede registrarlos como un único modelo en el área de trabajo de Azure Machine Learning. Después del registro, puede descargar o implementar el modelo registrado y recibir todos los archivos que se registraron.

Al registrar un modelo, se crea un contenedor lógico para uno o varios archivos que componen el modelo. Además del contenido del propio archivo de modelo, un modelo registrado también almacena metadatos del modelo, como la descripción del modelo, las etiquetas y la información del marco, que resulta útil al administrar e implementar el modelo en el área de trabajo. Por ejemplo, con etiquetas puede clasificar los modelos y aplicar filtros al enumerar los modelos en el área de trabajo. Después del registro, puede descargar o implementar el modelo registrado y recibir todos los archivos y metadatos que se registraron.

En el ejemplo siguiente se muestra cómo registrar un modelo que especifica etiquetas y una descripción.


   from azureml.core.model import Model

   model = Model.register(model_path="sklearn_regression_model.pkl",
                          model_name="sklearn_regression_model_local_adv",
                          tags={'area': "diabetes", 'type': "regression"},
                          description="Ridge regression model to predict diabetes",
                          workspace=ws)

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb

En el ejemplo siguiente se muestra cómo registrar un modelo que especifica el marco de trabajo, los conjuntos de datos de entrada y salida y la configuración de recursos.


   from azureml.core import Model
   from azureml.core.resource_configuration import ResourceConfiguration

   model = Model.register(workspace=ws,
                          model_name='my-sklearn-model',                # Name of the registered model in your workspace.
                          model_path='./sklearn_regression_model.pkl',  # Local file to upload and register as a model.
                          model_framework=Model.Framework.SCIKITLEARN,  # Framework used to create the model.
                          model_framework_version='0.19.1',             # Version of scikit-learn used to create the model.
                          sample_input_dataset=input_dataset,
                          sample_output_dataset=output_dataset,
                          resource_configuration=ResourceConfiguration(cpu=1, memory_in_gb=0.5),
                          description='Ridge regression model to predict diabetes progression.',
                          tags={'area': 'diabetes', 'type': 'regression'})

   print('Name:', model.name)
   print('Version:', model.version)

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-cloud/model-register-and-deploy.ipynb

Methods

add_dataset_references(datasets)

Asociar los conjuntos de valores proporcionados a este modelo.

add_properties(properties)

Agregue pares clave-valor al Diccionario de propiedades de este modelo.

add_tags(tags)

Agregue pares clave-valor al Diccionario de etiquetas de este modelo.

delete()

Elimine este modelo de su área de trabajo asociada.

deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False)

Implemente un servicio de WebService desde cero o más objetos de modelo.

Esta función es similar a la función deploy de la clase Webservice, pero no registra los modelos. Use esta función si tiene objetos de modelo que ya están registrados.

deserialize(workspace, model_payload)

Convertir un objeto JSON en un objeto de modelo.

La conversión no se realiza correctamente si el área de trabajo especificada no es el área de trabajo con la que se registra el modelo.

download(target_dir='.', exist_ok=False, exists_ok=None)

Descargue el modelo en el directorio de destino del sistema de archivos local.

get_model_path(model_name, version=None, _workspace=None)

Devuelve la ruta de acceso al modelo.

La función buscará el modelo en las siguientes ubicaciones.

Si version es None:

  1. Descargar de remoto a caché
  2. Cargar desde la caché azureml-Models/$MODEL _NAME/$LATEST _VERSION/
  3. ./$MODEL _NAME

Si version no es ninguno:

  1. Cargar desde la caché azureml-Models/$MODEL _NAME/$LATEST _VERSION/
  2. Descargar de remoto a caché
get_sas_urls()

Devuelve un diccionario de pares clave-valor que contienen nombres de archivo y direcciones URL de SAS correspondientes.

list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False)

Recupera una lista de todos los modelos asociados con el área de trabajo proporcionada, con filtros opcionales.

package(workspace, models, inference_config=None, generate_dockerfile=False)

Cree un paquete de modelo en forma de una imagen de Docker o un contexto de compilación de Dockerfile.

profile(workspace, profile_name, models, inference_config, input_data)

Perfila este modelo para obtener recomendaciones de configuración de recursos.

register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)

Registra un modelo con el área de trabajo proporcionada.

remove_tags(tags)

Quite las claves especificadas del Diccionario de etiquetas de este modelo.

serialize()

Convierta este modelo en un diccionario serializado JSON.

update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)

Realice una actualización en contexto del modelo.

Se reemplazan los valores existentes de los parámetros especificados.

update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)

Realice una actualización de las etiquetas y propiedades del modelo.

add_dataset_references(datasets)

Asociar los conjuntos de valores proporcionados a este modelo.

add_dataset_references(datasets)

Parameters

datasets
builtin.list[tuple({str : (Dataset or DatasetSnapshot)})]

Una lista de tuplas que representan un emparejamiento del propósito del conjunto de objetos con el objeto DataSet.

add_properties(properties)

Agregue pares clave-valor al Diccionario de propiedades de este modelo.

add_properties(properties)

Parameters

properties
dict({str : str})

Diccionario de propiedades que se va a agregar.

add_tags(tags)

Agregue pares clave-valor al Diccionario de etiquetas de este modelo.

add_tags(tags)

Parameters

tags
dict({str : str})

Diccionario de etiquetas que se va a agregar.

Exceptions

delete()

Elimine este modelo de su área de trabajo asociada.

delete()

deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False)

Implemente un servicio de WebService desde cero o más objetos de modelo.

Esta función es similar a la función deploy de la clase Webservice, pero no registra los modelos. Use esta función si tiene objetos de modelo que ya están registrados.

deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False)

Parameters

workspace
Workspace

Objeto de área de trabajo con el que se va a asociar el servicio.

name
str

Nombre que se va a dar al servicio implementado. Debe ser único en el área de trabajo, solo consta de letras minúsculas, números o guiones, comenzar por una letra y tener entre 3 y 32 caracteres de longitud.

models
builtin.list[Model]

Una lista de objetos de modelo. Puede ser una lista vacía.

inference_config
InferenceConfig

Un objeto InferenceConfig que se usa para determinar las propiedades del modelo necesarias.

default value: None
deployment_config
WebserviceDeploymentConfiguration

WebserviceDeploymentConfiguration que se usa para configurar el servicio de WebService. Si no se proporciona ninguno, se utilizará un objeto de configuración vacío en función del destino deseado.

default value: None
deployment_target
ComputeTarget

ComputeTarget en el que se va a implementar el servicio. Como Azure Container Instances no tiene ningún ComputeTargetasociado, deje este parámetro como ninguno para implementarlo en Azure Container Instances.

default value: None
overwrite
bool

Indica si se va a sobrescribir el servicio existente si ya existe un servicio con el nombre especificado.

default value: False

Returns

Objeto WebService que corresponde al servicio webservicio implementado.

Return type

Exceptions

deserialize(workspace, model_payload)

Convertir un objeto JSON en un objeto de modelo.

La conversión no se realiza correctamente si el área de trabajo especificada no es el área de trabajo con la que se registra el modelo.

deserialize(workspace, model_payload)

Parameters

workspace
Workspace

Objeto de área de trabajo con el que está registrado el modelo.

model_payload
dict

Objeto JSON que se va a convertir en un objeto de modelo.

Returns

Representación del modelo del objeto JSON proporcionado.

Return type

download(target_dir='.', exist_ok=False, exists_ok=None)

Descargue el modelo en el directorio de destino del sistema de archivos local.

download(target_dir='.', exist_ok=False, exists_ok=None)

Parameters

target_dir
str

Ruta de acceso a un directorio en el que se va a descargar el modelo. El valor predeterminado es "."

default value: .
exist_ok
bool

Indica si se van a reemplazar los directorios/archivos descargados en caso de que existan. El valor predeterminado es False.

default value: False
exists_ok
bool

En desuso. Mediante exist_ok.

default value: None

Returns

Ruta de acceso al archivo o carpeta del modelo.

Return type

str

get_model_path(model_name, version=None, _workspace=None)

Devuelve la ruta de acceso al modelo.

La función buscará el modelo en las siguientes ubicaciones.

Si version es None:

  1. Descargar de remoto a caché
  2. Cargar desde la caché azureml-Models/$MODEL _NAME/$LATEST _VERSION/
  3. ./$MODEL _NAME

Si version no es ninguno:

  1. Cargar desde la caché azureml-Models/$MODEL _NAME/$LATEST _VERSION/
  2. Descargar de remoto a caché
get_model_path(model_name, version=None, _workspace=None)

Parameters

model_name
str

Nombre del modelo que se va a recuperar.

version
int

Versión del modelo que se va a recuperar. Tiene como valor predeterminado la versión más reciente.

default value: None
_workspace
Workspace

Área de trabajo de la que se va a recuperar un modelo. No se puede usar de forma remota.

default value: None

Returns

La ruta de acceso en el disco al modelo.

Return type

str

Exceptions

get_sas_urls()

Devuelve un diccionario de pares clave-valor que contienen nombres de archivo y direcciones URL de SAS correspondientes.

get_sas_urls()

Returns

Diccionario de pares K, V que contienen nombres de archivo y direcciones URL de SAS correspondientes

Return type

dict

list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False)

Recupera una lista de todos los modelos asociados con el área de trabajo proporcionada, con filtros opcionales.

list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False)

Parameters

workspace
Workspace

Objeto de área de trabajo del que se van a recuperar los modelos.

name
str

Si se proporciona, solo devolverá los modelos con el nombre especificado, si existe.

default value: None
tags
builtin.list

Filtrará en función de la lista proporcionada por ' Key ' o ' [Key, value] '. Ejemplo: [' Key ', [' KEY2 ', ' valor KEY2 ']]

default value: None
properties
builtin.list

Filtrará en función de la lista proporcionada por ' Key ' o ' [Key, value] '. Ejemplo: [' Key ', [' KEY2 ', ' valor KEY2 ']]

default value: None
run_id
str

Filtrará según el identificador de ejecución proporcionado.

default value: None
latest
bool

Si es true, solo devolverá los modelos con la versión más reciente.

default value: False

Returns

Una lista de modelos, opcionalmente filtrados.

Return type

builtin.list[Model]

Exceptions

package(workspace, models, inference_config=None, generate_dockerfile=False)

Cree un paquete de modelo en forma de una imagen de Docker o un contexto de compilación de Dockerfile.

package(workspace, models, inference_config=None, generate_dockerfile=False)

Parameters

workspace
Workspace

Área de trabajo en la que se va a crear el paquete.

models
builtin.list[Model]

Lista de objetos de modelo que se van a incluir en el paquete. Puede ser una lista vacía.

inference_config
InferenceConfig

Un objeto InferenceConfig para configurar el funcionamiento de los modelos. Debe incluir un objeto de entorno.

default value: None
generate_dockerfile
bool

Si se va a crear un Dockerfile que se puede ejecutar localmente en lugar de compilar una imagen.

default value: False

Returns

Objeto ModelPackage.

Return type

profile(workspace, profile_name, models, inference_config, input_data)

Perfila este modelo para obtener recomendaciones de configuración de recursos.

profile(workspace, profile_name, models, inference_config, input_data)

Parameters

workspace
Workspace

Objeto de área de trabajo en el que se va a generar el perfil del modelo

profile_name
str

Nombre de la generación de perfiles.

models
builtin.list[Model]

Una lista de objetos de modelo. Puede ser una lista vacía.

inference_config
InferenceConfig

Un objeto InferenceConfig que se usa para determinar las propiedades del modelo necesarias.

input_data
str

Los datos de entrada para la generación de perfiles

Return type

register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)

Registra un modelo con el área de trabajo proporcionada.

register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)

Parameters

workspace
Workspace

Área de trabajo con la que se va a registrar el modelo.

model_path
str

La ruta de acceso en el sistema de archivos local donde se encuentran los recursos del modelo. Puede ser un puntero directo a un solo archivo o carpeta. Si apunta a una carpeta, el parámetro child_paths se puede utilizar para especificar archivos individuales para agruparlos como el objeto de modelo, en lugar de usar todo el contenido de la carpeta.

model_name
str

Nombre con el que se va a registrar el modelo.

tags
dict({str : str})

Diccionario opcional de etiquetas de valor de clave que se va a asignar al modelo.

default value: None
properties
dict({str : str})

Diccionario opcional de propiedades de valor de clave que se va a asignar al modelo. Estas propiedades no se pueden cambiar después de la creación del modelo, pero se pueden agregar nuevos pares clave-valor.

default value: None
description
str

Una descripción de texto del modelo.

default value: None
datasets
builtin.list[(str, AbstractDataset)]

Una lista de tuplas donde el primer elemento describe la relación del modelo de conjunto de elementos y el segundo elemento es el conjunto de elementos.

default value: None
model_framework
str

Marco del modelo registrado. El uso de constantes compatibles con el sistema de la clase Framework permite una implementación simplificada para algunos marcos de trabajo populares.

default value: None
model_framework_version
str

Versión de .NET Framework del modelo registrado.

default value: None
child_paths
builtin.list[str]

Si se proporciona junto con una model_path a una carpeta, solo los archivos especificados se agruparán en el objeto de modelo.

default value: None
sample_input_dataset
AbstractDataset

Conjunto de datos de entrada de ejemplo para el modelo registrado.

default value: None
sample_output_dataset
AbstractDataset

Conjunto de resultados de salida de ejemplo para el modelo registrado.

default value: None
resource_configuration
ResourceConfiguration

Una configuración de recursos para ejecutar el modelo registrado.

default value: None

Returns

Objeto de modelo registrado.

Return type

Comentarios

Además del contenido del propio archivo de modelo, un modelo registrado también almacena metadatos del modelo, como la descripción del modelo, las etiquetas y la información del marco, que resulta útil al administrar e implementar el modelo en el área de trabajo. Por ejemplo, con etiquetas puede clasificar los modelos y aplicar filtros al enumerar los modelos en el área de trabajo.

En el ejemplo siguiente se muestra cómo registrar un modelo que especifica etiquetas y una descripción.


   from azureml.core.model import Model

   model = Model.register(model_path="sklearn_regression_model.pkl",
                          model_name="sklearn_regression_model_local_adv",
                          tags={'area': "diabetes", 'type': "regression"},
                          description="Ridge regression model to predict diabetes",
                          workspace=ws)

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb

remove_tags(tags)

Quite las claves especificadas del Diccionario de etiquetas de este modelo.

remove_tags(tags)

Parameters

tags
builtin.list[str]

Lista de claves que se van a quitar.

serialize()

Convierta este modelo en un diccionario serializado JSON.

serialize()

Returns

Representación JSON de este modelo

Return type

dict

update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)

Realice una actualización en contexto del modelo.

Se reemplazan los valores existentes de los parámetros especificados.

update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)

Parameters

tags
dict({str : str})

Diccionario de etiquetas con las que se va a actualizar el modelo. Estas etiquetas reemplazan a las etiquetas existentes para el modelo.

default value: None
description
str

Nueva descripción que se va a usar para el modelo. Este nombre reemplaza el nombre existente.

default value: None
sample_input_dataset
AbstractDataset

Conjunto de datos de entrada de ejemplo que se va a usar para el modelo registrado. Este conjunto de datos de entrada de ejemplo reemplaza el conjunto de datos existente.

default value: None
sample_output_dataset
AbstractDataset

Conjunto de resultados de salida de ejemplo que se va a usar para el modelo registrado. Este conjunto de información de salida de ejemplo reemplaza el conjunto de DataSet existente.

default value: None
resource_configuration
ResourceConfiguration

La configuración de recursos que se va a utilizar para ejecutar el modelo registrado.

default value: None

Exceptions

update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)

Realice una actualización de las etiquetas y propiedades del modelo.

update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)

Parameters

add_tags
dict({str : str})

Diccionario de etiquetas que se va a agregar.

default value: None
remove_tags
builtin.list[str]

Lista de nombres de etiqueta que se van a quitar.

default value: None
add_properties
dict({str : str})

Diccionario de propiedades que se va a agregar.

default value: None

Exceptions