Creación y exploración de un conjunto de datos de Azure Machine Learning con etiquetas
En este artículo, aprenderá a exportar las etiquetas de datos desde un proyecto de etiquetado de datos de Azure Machine Learning y a cargarlos en formatos populares, como dataframe de pandas para la exploración de datos.
Qué son los conjuntos de datos con etiquetas
Los conjuntos de datos de Azure Machine Learning se conocen como conjuntos de datos con etiquetas. Estos conjuntos de datos específicos son TabularDatasets con una columna de etiqueta dedicada, y solo se crean como una salida de proyectos de etiquetado de datos de Azure Machine Learning. Cree un proyecto de etiquetado de datos para el etiquetado de imágenes o el etiquetado de texto. Machine Learning admite proyectos de etiquetado de datos para la clasificación de imágenes (de varias etiquetas o varias clases) y la identificación de objetos mediante rectángulos de selección.
Requisitos previos
- Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- SDK de Azure Machine Learning para Python o acceso a Azure Machine Learning Studio.
- Un área de trabajo de Machine Learning. Consulte Creación de recursos del área de trabajo.
- Acceda a un proyecto de etiquetado de datos de Azure Machine Learning. Si no tiene un proyecto de etiquetado, primero cree uno para el etiquetado de imágenes o el etiquetado de texto.
Exportación de etiquetas de datos
Al completar un proyecto de etiquetado de datos, puede exportar los datos de las etiquetas de un proyecto de etiquetado. Esto le permite capturar tanto la referencia a los datos como sus etiquetas, y exportarlas en formato de COCO o como un conjunto de datos de Azure Machine Learning.
Use el botón Exportar en la página Detalles del proyecto del proyecto de etiquetado.
COCO
El archivo COCO se crea en el almacén de blobs predeterminado del área de trabajo de Azure Machine Learning, en una carpeta dentro de export/coco.
Nota
En los proyectos de detección de objetos, se normalizan los valores exportados de "bbox": [x,y,width,height]" del archivo COCO. Se modifica su escala a 1. Ejemplo: un rectángulo delimitador que se encuentre en la ubicación (10, 10) y tenga 30 píxeles de ancho y 60 de alto, en una imagen de 640 x 480 píxeles se anotará como (0,015625, 0,02083, 0,046875, 0,125). Como las coordenadas están normalizadas, se mostrarán como "0,0" como "width" (ancho) y "height" (alto) en todas las imágenes. El ancho y el alto reales se pueden obtener mediante una biblioteca de Python, como OpenCV o Pillow (PIL).
Conjunto de datos de Azure Machine Learning
Puede acceder al conjunto de datos de Azure Machine Learning exportado en la sección Conjuntos de datos de Azure Machine Learning Studio. La página Details (Detalles) del conjunto de datos también proporciona código de ejemplo para acceder a las etiquetas desde Python.
Sugerencia
Cuando haya exportado los datos etiquetados a un conjunto de datos de Azure Machine Learning, puede usar AutoML para crear modelos de Computer Vision entrenados sobre los datos etiquetados. Obtenga más información en Configuración de AutoML para entrenar modelos de Computer Vision con Python.
Exploración de conjuntos de datos etiquetados mediante dataframe de pandas
Cargue los conjuntos de datos etiquetados en dataframe de pandas, para aprovechar las conocidas bibliotecas de código abierto para la exploración de datos, con el método to_pandas_dataframe()
de la clase azureml-dataprep
.
Instale la clase con el siguiente comando de shell:
pip install azureml-dataprep
En el código siguiente, el conjunto de datos animal_labels
es la salida de un proyecto de etiquetado guardado anteriormente en el área de trabajo.
El conjunto de datos exportado es TabularDataset.
SE APLICA A: Azure ML del SDK de Python v1
import azureml.core
from azureml.core import Dataset, Workspace
# get animal_labels dataset from the workspace
animal_labels = Dataset.get_by_name(workspace, 'animal_labels')
animal_pd = animal_labels.to_pandas_dataframe()
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
#read images from dataset
img = mpimg.imread(animal_pd['image_url'].iloc(0).open())
imgplot = plt.imshow(img)