Gegevens voorbereiden voor Computer Vision-taken met geautomatiseerde machine learning

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Belangrijk

Ondersteuning voor het trainen van Computer Vision-modellen met geautomatiseerde ML in Azure Machine Learning is een experimentele openbare preview-functie. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel leert u hoe u afbeeldingsgegevens voorbereidt voor het trainen van Computer Vision-modellen met geautomatiseerde machine learning in Azure Machine Learning.

Als u modellen voor Computer Vision-taken met geautomatiseerde machine learning wilt genereren, moet u gelabelde afbeeldingsgegevens als invoer voor modeltraining in de vorm van een MLTable.

U kunt een MLTable van gelabelde trainingsgegevens maken in JSONL-indeling. Als uw gelabelde trainingsgegevens een andere indeling hebben (zoals Pascal VOC of COCO), kunt u een conversiescript gebruiken om het eerst te converteren naar JSONL en vervolgens een MLTable. U kunt ook het hulpprogramma voor gegevenslabels van Azure Machine Learning gebruiken om afbeeldingen handmatig te labelen en de gelabelde gegevens te exporteren voor het trainen van uw AutoML-model.

Vereisten

Gelabelde gegevens ophalen

Als u Computer Vision-modellen wilt trainen met AutoML, moet u eerst gelabelde trainingsgegevens ophalen. De afbeeldingen moeten worden geüpload naar de cloud en labelaantekeningen moeten de JSONL-indeling hebben. U kunt het hulpprogramma Azure Machine Learning-gegevenslabels gebruiken om uw gegevens te labelen of u kunt beginnen met vooraf gelabelde afbeeldingsgegevens.

Azure Machine Learning-hulpprogramma voor gegevenslabels gebruiken om uw trainingsgegevens te labelen

Als u geen vooraf gelabelde gegevens hebt, kunt u het hulpprogramma voor gegevenslabels van Azure Machine Learning gebruiken om afbeeldingen handmatig te labelen. Met dit hulpprogramma worden automatisch de gegevens gegenereerd die vereist zijn voor training in de geaccepteerde indeling.

Het helpt bij het maken, beheren en bewaken van taken voor gegevenslabels voor

  • Afbeeldingsclassificatie (meerdere klassen en meerdere labels)
  • Objectdetectie (begrenzingsvak)
  • Exemplaarsegmentatie (veelhoek)

Als u al gelabelde gegevens hebt die u wilt gebruiken, kunt u uw gelabelde gegevens exporteren als een Azure Machine Learning-gegevensset en vervolgens toegang krijgen tot de gegevensset onder het tabblad Gegevenssets in Azure Machine Learning-studio. Deze geëxporteerde gegevensset kan vervolgens worden doorgegeven als invoer met behulp van azureml:<tabulardataset_name>:<version> de indeling. Hier volgt een voorbeeld van het doorgeven van bestaande gegevenssets als invoer voor het trainen van Computer Vision-modellen.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

training_data:
  path: azureml:odFridgeObjectsTrainingDataset:1
  type: mltable
  mode: direct

Vooraf gelabelde trainingsgegevens van lokale computer gebruiken

Als u gegevens hebt gelabeld die u wilt gebruiken om uw model te trainen, moet u de afbeeldingen uploaden naar Azure. U kunt de afbeeldingen uploaden naar de standaard Azure Blob Storage van uw Azure Machine Learning-werkruimte en deze registreren als een gegevensasset.

Met het volgende script worden de afbeeldingsgegevens op uw lokale computer geüpload naar het pad ./data/odFridgeObjects naar het gegevensarchief in Azure Blob Storage. Vervolgens wordt er een nieuwe gegevensasset gemaakt met de naam 'fridge-items-images-object-detection' in uw Azure Machine Learning-werkruimte.

Als er al een gegevensasset bestaat met de naam 'fridge-items-images-object-detection' in uw Azure Machine Learning-werkruimte, wordt het versienummer van de gegevensasset bijgewerkt en verwijst deze naar de nieuwe locatie waar de afbeeldingsgegevens zijn geüpload.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Maak een .yml-bestand met de volgende configuratie.

$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

Als u de afbeeldingen wilt uploaden als een gegevensasset, voert u de volgende CLI v2-opdracht uit met het pad naar uw .yml-bestand, werkruimtenaam, resourcegroep en abonnements-id.

az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]

Als u al uw gegevens in een bestaand gegevensarchief hebt en er een gegevensasset van wilt maken, kunt u dit doen door het pad naar de gegevens in het gegevensarchief op te geven in plaats van het pad van uw lokale computer op te geven. Werk de bovenstaande code bij met het volgende codefragment.

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Maak een .yml-bestand met de volgende configuratie.

$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

Vervolgens moet u de labelaantekeningen ophalen in JSONL-indeling. Het schema van gelabelde gegevens is afhankelijk van de computer vision-taak die u bij de hand hebt. Raadpleeg schema's voor JSONL-bestanden voor AutoML Computer Vision-experimenten voor meer informatie over het vereiste JSONL-schema voor elk taaktype.

Als uw trainingsgegevens een andere indeling hebben (zoals pascal VOC of COCO), zijn helperscripts voor het converteren van de gegevens naar JSONL beschikbaar in notebookvoorbeelden.

Nadat u het jsonl-bestand hebt gemaakt volgens de bovenstaande stappen, kunt u het als een gegevensasset registreren met behulp van de gebruikersinterface. Zorg ervoor dat u typt stream in de schemasectie, zoals wordt weergegeven in deze animatie.

Animatie die laat zien hoe u een gegevensasset registreert uit de jsonl-bestanden

Vooraf gelabelde trainingsgegevens uit Azure Blob Storage gebruiken

Als u uw gelabelde trainingsgegevens in een container in Azure Blob Storage hebt, kunt u deze rechtstreeks daar openen door een gegevensarchief te maken dat naar die container verwijst.

MLTable maken

Zodra u uw gelabelde gegevens in JSONL-indeling hebt, kunt u deze gebruiken om te maken MLTable zoals wordt weergegeven in dit yaml-fragment. MLtable verpakt uw gegevens in een verbruiksobject voor training.

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

Vervolgens kunt u de MLTable gegevensinvoer voor uw AutoML-trainingstaak doorgeven.

Volgende stappen