Creare ed esplorare il set di dati di Azure Machine Learning con etichette
In questo articolo si apprenderà come esportare le etichette dati da un progetto di etichettatura dei data di Azure Machine Learning e come caricarle in formati comuni, come un dataframe Pandas per l'esplorazione dei dati.
Informazioni sui set di dati con etichette
I set di dati di Azure Machine Learning con etichette vengono definiti set di dati etichettati. Questi set di dati specifici sono oggetti TabularDataset con una colonna dedicata per l'etichetta e vengono creati solo come output dei progetti di etichettatura dei dati di Azure Machine Learning. Creare un progetto di etichettatura dei dati per l'etichettatura di immagini o l'etichettatura di testo. Machine Learning supporta i progetti di etichettatura dei dati per la classificazione di immagini, multi-etichetta o multi-classe, e l'identificazione di oggetti con i riquadri di selezione.
Prerequisiti
- Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Azure Machine Learning SDK per Python o accesso ad Azure Machine Learning Studio.
- Un'area di lavoro di Machine Learning. Consultare Creare le risorse dell'area di lavoro.
- Accedere a un progetto di etichettatura dei dati di Azure Machine Learning. Se non si dispone di un progetto di etichettatura, crearne uno per l'etichettatura di immagini o l'etichettatura di testo.
Esportare le etichette dati
Quando si completa un progetto di etichettatura dei dati, è possibile esportare i dati delle etichette da un progetto di etichettatura. Ciò consente di acquisire sia il riferimento ai dati che le relative etichette e di esportarli in formato COCO o come set di dati di Azure Machine Learning.
Usare il pulsante Esporta nella pagina Dettagli del progetto del progetto di etichettatura.
COCO
Il file COCO viene creato nell'archivio BLOB predefinito dell'area di lavoro di Azure Machine Learning in una cartella all'interno di export/coco.
Nota
Nei progetti di rilevamento degli oggetti i valori "bbox": [x,y,width,height]" esportati nel file COCO vengono normalizzati. Viene applicata la normalizzazione a 1. Esempio: un rettangolo delimitatore in corrispondenza della posizione (10, 10) con larghezza di 30 pixel e altezza di 60 pixel, in un'immagine di 640x480 pixel, verrà annotato come (0,015625, 0,02083, 0,046875, 0,125). Poiché le coordinate sono normalizzate, i valori di larghezza e altezza per tutte le immagini vengono indicati come "0,0". La larghezza e l'altezza effettive possono essere ottenute usando una libreria Python, ad esempio OpenCV o Pillow(PIL).
Set di dati di Azure Machine Learning
È possibile accedere al set di dati di Azure Machine Learning esportato nella sezione Set di dati di Azure Machine Learning Studio. La pagina Dettagli del set di dati contiene anche il codice di esempio per accedere alle etichette da Python.
Suggerimento
Dopo aver esportato i dati etichettati in un set di dati di Azure Machine Learning, è possibile usare AutoML per creare modelli di visione artificiale sottoposti a training sui dati etichettati. Leggere le informazioni su come Configurare AutoML per eseguire il training di modelli di visione artificiale con Python
Esplorare i set di dati etichettati tramite dataframe Pandas
Caricare i set di dati etichettati in un dataframe Pandas per sfruttare le librerie open source più diffuse per esplorare i dati con il metodo to_pandas_dataframe()
della classe azureml-dataprep
.
Installare la classe con il seguente comando della shell:
pip install azureml-dataprep
Nel codice seguente il set di dati animal_labels
è l'output di un progetto di etichettatura salvato in precedenza nell'area di lavoro.
Il set di dati esportato è un oggetto TabularDataset.
Si applica a: Python SDK azureml 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)