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.objectModel
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 |
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
Si
|
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.
- 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.
- 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.
- overwrite
- bool
Indica si se va a sobrescribir el servicio existente si ya existe un servicio con el nombre especificado.
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 "."
- exist_ok
- bool
Indica si se van a reemplazar los directorios/archivos descargados en caso de que existan. El valor predeterminado es False.
- exists_ok
- bool
En desuso. Mediante exist_ok
.
Returns
Ruta de acceso al archivo o carpeta del modelo.
Return type
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:
- Descargar de remoto a caché
- Cargar desde la caché azureml-Models/$MODEL _NAME/$LATEST _VERSION/
- ./$MODEL _NAME
Si version
no es ninguno:
- Cargar desde la caché azureml-Models/$MODEL _NAME/$LATEST _VERSION/
- 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.
- _workspace
- Workspace
Área de trabajo de la que se va a recuperar un modelo. No se puede usar de forma remota.
Returns
La ruta de acceso en el disco al modelo.
Return type
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
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.
- tags
- builtin.list
Filtrará en función de la lista proporcionada por ' Key ' o ' [Key, value] '. Ejemplo: [' Key ', [' KEY2 ', ' valor KEY2 ']]
- properties
- builtin.list
Filtrará en función de la lista proporcionada por ' Key ' o ' [Key, value] '. Ejemplo: [' Key ', [' KEY2 ', ' valor KEY2 ']]
- run_id
- str
Filtrará según el identificador de ejecución proporcionado.
- latest
- bool
Si es true, solo devolverá los modelos con la versión más reciente.
Returns
Una lista de modelos, opcionalmente filtrados.
Return type
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.
- generate_dockerfile
- bool
Si se va a crear un Dockerfile que se puede ejecutar localmente en lugar de compilar una imagen.
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.
- 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.
- description
- str
Una descripción de texto del modelo.
- 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.
- 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.
- model_framework_version
- str
Versión de .NET Framework del modelo registrado.
- 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.
- sample_input_dataset
- AbstractDataset
Conjunto de datos de entrada de ejemplo para el modelo registrado.
- sample_output_dataset
- AbstractDataset
Conjunto de resultados de salida de ejemplo para el modelo registrado.
- resource_configuration
- ResourceConfiguration
Una configuración de recursos para ejecutar el modelo registrado.
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
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.
- description
- str
Nueva descripción que se va a usar para el modelo. Este nombre reemplaza el nombre existente.
- 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.
- 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.
- resource_configuration
- ResourceConfiguration
La configuración de recursos que se va a utilizar para ejecutar el modelo registrado.
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.
- remove_tags
- builtin.list[str]
Lista de nombres de etiqueta que se van a quitar.
- add_properties
- dict({str : str})
Diccionario de propiedades que se va a agregar.