Preparación de datos para tareas de Computer Vision con aprendizaje automático automatizado
SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)
Importante
La compatibilidad con el entrenamiento de modelos de aprendizaje automático automatizado de Computer Vision en Azure Machine Learning es una característica experimental en versión preliminar pública. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
En este artículo, aprenderá a preparar los datos de imagen para entrenar modelos de Computer Vision con aprendizaje automático automatizado en Azure Machine Learning. Para generar modelos para tareas de Computer Vision con aprendizaje automático automatizado, debe traer datos de imagen etiquetados como entrada para el entrenamiento del modelo en forma de MLTable
.
Puede crear un objeto MLTable
a partir de datos de entrenamiento etiquetados en formato JSONL. Si los datos de entrenamiento etiquetados tienen un formato diferente, como Pascal Visual Object Classes (VOC) o COCO, puede usar un script de conversión para convertirlo en JSONL y, a continuación, crear un MLTable
. Como alternativa, puede usar la herramienta de etiquetado de datos de Azure Machine Learning para etiquetar manualmente imágenes. A continuación, exporte los datos etiquetados que se usarán para entrenar el modelo de AutoML.
Requisitos previos
- Familiarícese con los esquemas de archivos JSONL aceptados de los experimentos de Computer Vision de AutoML.
Obtener datos etiquetados
Para entrenar modelos de Computer Vision mediante AutoML, debe obtener los datos de entrenamiento etiquetados. Las imágenes deben cargarse en la nube. Las anotaciones de etiqueta deben estar en formato JSONL. Puede usar la herramienta de etiquetado de datos de Azure Machine Learning para etiquetar los datos o puede empezar con los datos de imagen etiquetados previamente.
Uso de la herramienta de etiquetado de datos de Azure Machine Learning para etiquetar los datos de entrenamiento
Si no tiene datos etiquetados previamente, puede usar la herramienta de etiquetado de datos de Azure Machine Learning para etiquetar manualmente las imágenes. Esta herramienta genera automáticamente los datos necesarios para el entrenamiento en el formato aceptado. Para obtener más información, consulte Configuración de un proyecto de etiquetado de imágenes.
La herramienta ayuda a crear, administrar y supervisar las tareas de etiquetado de datos para:
- Clasificación de imágenes (varias clases y varias etiquetas)
- Detección de objetos (rectángulo de selección)
- Segmentación de instancias (polígono)
Si ya ha etiquetado los datos que se van a usar, exporte los datos etiquetados como un conjunto de datos de Azure Machine Learning y acceda al conjunto de datos en la pestaña Conjuntos de datos en Estudio de Azure Machine Learning. Puede pasar este conjunto de datos exportado como entrada mediante el formato azureml:<tabulardataset_name>:<version>
. Para obtener más información, vea Exportar las etiquetas.
Este es un ejemplo de cómo pasar un conjunto de datos existente como entrada para entrenar modelos de Computer Vision.
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
training_data:
path: azureml:odFridgeObjectsTrainingDataset:1
type: mltable
mode: direct
Uso de datos de entrenamiento etiquetados previamente desde la máquina local
Si ha etiquetado los datos que desea usar para entrenar el modelo, cargue las imágenes en Azure. Puede cargar las imágenes en la instancia predeterminada de Azure Blob Storage del área de trabajo de Azure Machine Learning. Regístrelo como un recurso de datos. Para obtener más información, consulte Creación y administración de recursos de datos.
El script siguiente carga los datos de imagen en la máquina local en la ruta de acceso ./data/odFridgeObjects del almacén de datos en Azure Blob Storage. A continuación, crea un nuevo recurso de datos con el nombre fridge-items-images-object-detection
en el área de trabajo de Azure Machine Learning.
Si ya existe un recurso de datos con el nombre fridge-items-images-object-detection
en el área de trabajo de Azure Machine Learning, el código actualiza el número de versión del recurso de datos y lo señala a la nueva ubicación donde se cargaron los datos de imagen.
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
Cree un archivo .yml con la siguiente configuración.
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: ./data/odFridgeObjects
type: uri_folder
Para cargar las imágenes como un recurso de datos, ejecute el siguiente comando de la CLI v2 con la ruta de acceso al archivo .yml, el nombre del área de trabajo, el grupo de recursos y el id. de suscripción.
az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Si ya tiene los datos en un almacén de datos existente, puede crear un recurso de datos fuera de él. Proporcione la ruta de acceso a los datos del almacén de datos en lugar de la ruta de acceso de la máquina local. Actualice el código anterior con el siguiente fragmento de código.
SE APLICA A: Extensión de ML de la CLI de Azure v2 (actual)
Cree un archivo .yml con la siguiente configuración.
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/<path_to_image_data_folder>
type: uri_folder
A continuación, obtenga las anotaciones de etiqueta en formato JSONL. El esquema de datos etiquetados depende de la tarea de Computer Vision de la que se trate. Para más información sobre el esquema JSONL necesario para cada tipo de tarea, consulte Esquemas de datos para entrenar modelos de Computer Vision con aprendizaje automático automatizado.
Si los datos de entrenamiento están en un formato diferente, como pascal VOC o COCO, los scripts auxiliares pueden convertir los datos en JSONL. Los scripts están disponibles en ejemplos de cuadernos.
Después de crear el archivo .jsonl, puede registrarlo como un recurso de datos mediante la interfaz de usuario. Asegúrese de seleccionar el tipo stream
en la sección de esquema, tal como se muestra en esta animación.
Uso de datos de entrenamiento previamente etiquetados desde Azure Blob Storage
Si los datos de entrenamiento etiquetados están presentes en un contenedor de Azure Blob Storage, puede acceder a ellos directamente. Cree un almacén de datos en ese contenedor. Para obtener más información, consulte Creación y administración de recursos de datos.
Creación de MLTable
Una vez que los datos etiquetados están en formato JSONL, puede usarlo para crear MLTable
como se muestra en este fragmento de código yaml. MLtable empaqueta los datos en un objeto personalizable para el entrenamiento.
paths:
- file: ./train_annotations.jsonl
transformations:
- read_json_lines:
encoding: utf8
invalid_lines: error
include_path_column: false
- convert_column_types:
- columns: image_url
column_type: stream_info
A continuación, puede pasar MLTable
como entrada de datos para el trabajo de entrenamiento de AutoML. Para más información, consulte Configurar AutoML para entrenar modelos de visión por ordenador.