Share via


Vorbereiten von Daten für Aufgaben zum maschinellen Sehen mit automatisiertem ML

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Wichtig

Die Unterstützung für das Trainieren von Modellen für maschinelles Sehen mit automatisiertem ML in Azure Machine Learning ist ein experimentelles Feature, das sich in der öffentlichen Vorschau befindet. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

In diesem Artikel erfahren Sie, wie Sie Bilddaten für das Trainieren von Modellen für maschinelles Sehen mit automatisiertem maschinellem Lernen in Azure Machine Learning vorbereiten.

Um Modelle für Aufgaben zum maschinellen Sehen mit automatisiertem maschinellem Lernen zu generieren, müssen Sie beschriftete Bilddaten als Eingabe für das Modelltraining in Form eines MLTable verwenden.

Sie können eine MLTable aus beschrifteten Trainingsdaten im JSONL-Format erstellen. Wenn Ihre beschrifteten Trainingsdaten in einem anderen Format vorliegen (z. B. Pascal VOC oder COCO), können Sie ein Konvertierungsskript verwenden, um sie zunächst in JSONL zu konvertieren und dann eine MLTable zu erstellen. Alternativ dazu können Sie mit dem Datenbeschriftungstool von Azure Machine Learning Bilder manuell beschriften und die beschrifteten Daten exportieren, um sie für das Training Ihres AutoML-Modells zu verwenden.

Voraussetzungen

Abrufen beschrifteter Daten

Um Modelle für maschinelles Sehen mit AutoML zu trainieren, müssen Sie zunächst beschriftete Trainingsdaten abrufen. Die Bilder müssen in die Cloud hochgeladen werden und die Beschriftungsanmerkungen müssen im JSONL-Format vorliegen. Sie können entweder das Azure Machine Learning-Datenbeschriftungstool zum Beschriften Ihrer Daten verwenden oder mit bereits beschrifteten Bilddaten beginnen.

Verwenden des Azure Machine Learning-Datenbeschriftungstools zum Beschriften Ihrer Trainingsdaten

Wenn Sie über keine bereits beschrifteten Daten verfügen, können Sie unter Verwendung des Datenbeschriftungstools von Azure Machine Learning Bilder manuell beschriften. Dieses Tool generiert automatisch die für das Training erforderlichen Daten im akzeptierten Format.

Es unterstützt Sie beim Erstellen, Verwalten und Überwachen von Datenbeschriftungsaufgaben für:

  • Bildklassifizierung (mehrere Klassen und mehrere Beschriftungen)
  • Objekterkennung (Begrenzungsrahmen)
  • Instanzsegmentierung (Polygon)

Wenn Sie bereits Daten beschriftet haben, die Sie verwenden möchten, können Sie Ihre beschrifteten Daten als Azure Machine Learning-Dataset exportieren und dann in Azure Machine Learning Studio auf der Registerkarte „Datasets“ auf das Dataset zugreifen. Dieses exportierte Dataset kann dann im azureml:<tabulardataset_name>:<version>-Format als Eingabe verwendet werden. Es folgt ein Beispiel dafür, wie Sie ein vorhandenes Dataset als Eingabe für das Training von Modellen für maschinelles Sehen verwenden können.

GILT FÜRAzure CLI ML-Erweiterung v2 (aktuell)

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

Verwenden von vorab beschrifteten Trainingsdaten von lokalen Computern

Wenn Sie beschriftete Daten haben, die Sie zum Trainieren Ihres Modells verwenden möchten, müssen Sie die Bilder in Azure hochladen. Sie können ihre Bilder in den standardmäßigen Azure Blob Storage Ihres Azure Machine Learning-Arbeitsbereichs hochladen und als Datenressource registrieren.

Das folgende Skript lädt die Bilddaten auf Ihrem lokalen Computer unter dem Pfad „./data/odFridgeObjects“ in den Datenspeicher von Azure Blob Storage hoch. Dann erstellt es ein neues Datenobjekt mit dem Namen „fridge-items-images-object-detection“ in Ihrem Azure Machine Learning-Arbeitsbereich.

Wenn in Ihrem Azure Machine Learning-Arbeitsbereich bereits ein Datenobjekt namens „fridge-items-images-object-detection“ vorhanden ist, aktualisiert das Skript die Versionsnummer des Objekts und verweist auf den neuen Speicherort, in den die Bilddaten hochgeladen wurden.

GILT FÜRAzure CLI ML-Erweiterung v2 (aktuell)

Erstellen Sie eine YML-Datei mit der folgenden Konfiguration.

$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

Um die Bilder als Datenressource hochzuladen, führen Sie den folgenden CLI-v2-Befehl mit den Pfad zu Ihrer YML-Datei, dem Arbeitsbereichsnamen, der Ressourcengruppe und der Abonnement-ID aus.

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

Wenn sich Ihre Daten bereits in einem bestehenden Datenspeicher befinden und Sie daraus eine Datenressource erstellen möchten, können Sie dies erreichen, indem Sie den Pfad zu den Daten im Datenspeicher angeben, anstatt den Pfad zu Ihrem lokalen Computer anzugeben. Aktualisieren Sie den obigen Code durch den folgenden Ausschnitt.

GILT FÜRAzure CLI ML-Erweiterung v2 (aktuell)

Erstellen Sie eine YML-Datei mit der folgenden Konfiguration.

$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

Als Nächstes müssen Sie die Beschriftungsanmerkungen im JSONL-Format abrufen. Das Schema der beschrifteten Daten hängt davon ab, welche Aufgabe für maschinelles Sehen durchgeführt werden soll. Weitere Informationen zum erforderlichen JSONL-Schema für jeden Aufgabentyp finden Sie unter Schemas für JSONL-Dateien für AutoML-Experimente für maschinelles Sehen.

Wenn Ihre Trainingsdaten in einem anderen Format vorliegen (z. B. Pascal VOC oder COCO), stehen Ihnen unter Notebook-BeispieleHilfsskripts zur Konvertierung der Daten in JSONL zur Verfügung.

Sobald Sie die JSONL-Datei anhand der obigen Schritte erstellt haben, können Sie sie mithilfe der Benutzeroberfläche als Datenressource registrieren. Vergewissern Sie sich, dass Sie im Abschnitt „Schema“ den Typ stream auswählen, wie in dieser Animation gezeigt.

Animation, die die Registrierung einer Ressource aus den JSONL-Dateien zeigt

Verwenden von bereits beschrifteten Trainingsdaten aus Azure Blob Storage

Wenn sich Ihre beschrifteten Trainingsdaten in einem Container in Azure Blob Storage befinden, können Sie von dort aus direkt darauf zugreifen, indem Sie einen Datenspeicher erstellen, der auf diesen Container verweist.

Erstellen einer MLTable

Sobald Ihre beschrifteten Daten im JSONL-Format vorliegen, können Sie sie wie in diesem YAML-Schnipsel gezeigt verwenden, um eine MLTable zu erstellen. MLTable verpackt Ihre Daten in einem Objekt, das zum Trainieren genutzt werden kann.

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

Anschließend können Sie die MLTable als Dateneingabe für Ihren AutoML-Trainingsauftrag übergeben.

Nächste Schritte