Créer et explorer un jeu de données Azure Machine Learning avec des étiquettes
Cet article explique comment exporter les étiquettes de données d’un projet d’étiquetage des données Azure Machine Learning et les charger dans des formats populaires tels qu’une tramedonnées pandas pour l’exploration de données.
Que sont les jeux de données avec étiquettes
Les jeux de données Azure Machine Learning avec des étiquettes sont appelés jeux de données étiquetés. Ces jeux de données spécifiques sont des TabularDatasets avec une colonne d’étiquettes dédiée et sont uniquement créés en tant que sortie des projets d’étiquetage des données Azure Machine Learning. Créez un projet d’étiquetage des données pour l’étiquetage d’image ou l’étiquetage de texte. Machine Learning prend en charge les projets d’étiquetage de données pour la classification d’images (comprenant plusieurs étiquettes ou classes), ainsi que l’identification d’objets à l’aide de zones délimitées.
Prérequis
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Le Kit de développement logiciel (SDK) Azure Machine Learning pour Python ou l’accès à Azure Machine Learning studio.
- Un espace de travail Machine Learning. Consultez Créer des ressources d’espace de travail.
- Accédez à un projet d’étiquetage de données Azure Machine Learning. Si vous n’avez pas de projet d’étiquetage, commencez par en créer un pour l’étiquetage d’image ou l’étiquetage de texte.
Exporter des étiquettes de données
Lorsque vous terminez un projet d’étiquetage de données, vous pouvez en exporter les données d’étiquette. Cela vous permet de capturer la référence aux données et ses étiquettes, puis de les exporter au format COCO ou en tant que jeu de données Azure Machine Learning.
Utilisez le bouton Exporter de la page Détails du projet de votre projet d’étiquetage.
COCO
Le fichier COCO est créé dans le magasin d’objets blob par défaut de l’espace de travail Azure Machine Learning, dans un dossier situé au sein de export/coco.
Notes
Dans les projets de détection d’objets, les valeurs exportées « bbox : [x, y, largeur, hauteur] » dans le fichier COCO sont normalisées. Elles sont mises à l’échelle à 1. Exemple : un cadre englobant à l’emplacement (10, 10), avec une largeur de 30 pixels, une hauteur de 60 pixels, dans une image de 640x480 pixels, est annoté (0.015625. 0.02083, 0.046875, 0.125). Étant donné que les coordonnées sont normalisées, la valeur sera « 0.0 » pour la « largeur » et la « hauteur » pour toutes les images. La largeur et la hauteur réelles peuvent être obtenues à l’aide d’une bibliothèque Python comme OpenCV ou Pillow (PIL).
Jeu de données Azure Machine Learning
Vous pouvez accéder au jeu de données Azure Machine Learning exporté dans la section Jeux de données de votre studio Azure Machine Learning. La page Détails du jeu de données fournit également un exemple de code pour accéder à vos étiquettes à partir de Python.
Conseil
Une fois que vous avez exporté vos données étiquetées vers un jeu de données Azure Machine Learning, vous pouvez utiliser AutoML pour créer des modèles de vision par ordinateur formés sur vos données étiquetées. En savoir plus : Configurer AutoML pour effectuer l’apprentissage de modèles de vision par ordinateur avec Python
Explorer les jeux de données étiquetés par le biais d’une tramedonnées pandas
Chargez vos jeux de données étiquetés dans une tramedonnées pandas pour tirer parti des bibliothèques open source populaires pour l’exploration des données avec la méthode to_pandas_dataframe()
de la classe azureml-dataprep
.
Installez la classe avec la commande d’interpréteur de commandes suivante :
pip install azureml-dataprep
Dans le code suivant, le jeu de données animal_labels
est la sortie d’un projet d’étiquetage enregistré dans l’espace de travail.
Le jeu de données exporté est un TabularDataset.
S’APPLIQUE À : SDK Python 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)