Förbereda data för uppgifter med visuellt innehåll med automatiserad maskininlärning

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Viktigt!

Stöd för att träna modeller för visuellt innehåll med automatiserad ML i Azure Machine Learning är en experimentell offentlig förhandsversionsfunktion. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

I den här artikeln får du lära dig hur du förbereder bilddata för att träna modeller för visuellt innehåll med automatiserad maskininlärning i Azure Machine Learning.

För att generera modeller för dataseendeuppgifter med automatiserad maskininlärning måste du ta med märkta bilddata som indata för modellträning i form av en MLTable.

Du kan skapa en MLTable från märkta träningsdata i JSONL-format. Om dina märkta träningsdata har ett annat format (t.ex. pascal VOC eller COCO) kan du använda ett konverteringsskript för att först konvertera dem till JSONL och sedan skapa en MLTable. Du kan också använda Azure Machine Learnings dataetikettverktyg för att manuellt märka bilder och exportera etiketterade data som ska användas för träning av AutoML-modellen.

Förutsättningar

Hämta etiketterade data

För att kunna träna modeller för visuellt innehåll med AutoML måste du först hämta märkta träningsdata. Bilderna måste laddas upp till molnet och etikettanteckningarna måste vara i JSONL-format. Du kan antingen använda Azure Machine Learning Data Labeling-verktyget för att märka dina data eller så kan du börja med förmärkta bilddata.

Använda Azure Machine Learning Data Labeling-verktyget för att märka dina träningsdata

Om du inte har förmärkta data kan du använda Azure Machine Learnings dataetikettverktyg för att manuellt märka bilder. Det här verktyget genererar automatiskt de data som krävs för träning i godkänt format.

Det hjälper till att skapa, hantera och övervaka dataetiketter för

  • Bildklassificering (flera klasser och flera etiketter)
  • Objektidentifiering (avgränsningsruta)
  • Instanssegmentering (polygon)

Om du redan har märkt data som du vill använda kan du exportera dina märkta data som en Azure Machine Learning-datauppsättning och sedan komma åt datauppsättningen under fliken Datauppsättningar i Azure Machine Learning-studio. Den exporterade datamängden kan sedan skickas som indata med hjälp av azureml:<tabulardataset_name>:<version> format. Här är ett exempel på hur du skickar befintlig datamängd som indata för att träna modeller för visuellt innehåll.

GÄLLER FÖR:Azure CLI ml extension v2 (aktuell)

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

Använda förmärkta träningsdata från en lokal dator

Om du har märkt data som du vill använda för att träna din modell måste du ladda upp bilderna till Azure. Du kan ladda upp avbildningarna till Azure Blob Storage som standard för Din Azure Machine Learning-arbetsyta och registrera den som en datatillgång.

Följande skript laddar upp avbildningsdata på den lokala datorn på sökvägen "./data/odFridgeObjects" till datalager i Azure Blob Storage. Den skapar sedan en ny datatillgång med namnet "fridge-items-images-object-detection" på din Azure Machine Learning-arbetsyta.

Om det redan finns en datatillgång med namnet "fridge-items-images-object-detection" på din Azure Machine Learning-arbetsyta uppdateras versionsnumret för datatillgången och pekar den på den nya plats där bilddata laddades upp.

GÄLLER FÖR:Azure CLI ml extension v2 (aktuell)

Skapa en .yml fil med följande 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

Om du vill ladda upp avbildningarna som en datatillgång kör du följande CLI v2-kommando med sökvägen till din .yml fil, arbetsytans namn, resursgrupp och prenumerations-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]

Om du redan har dina data i ett befintligt datalager och vill skapa en datatillgång av den kan du göra det genom att ange sökvägen till data i datalagringen i stället för att ange sökvägen till den lokala datorn. Uppdatera koden ovan med följande kodfragment.

GÄLLER FÖR:Azure CLI ml extension v2 (aktuell)

Skapa en .yml fil med följande 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

Därefter måste du hämta etikettanteckningarna i JSONL-format. Schemat för märkta data beror på den uppgift för visuellt innehåll som finns till hands. Se scheman för JSONL-filer för AutoML-experiment för visuellt innehåll för att lära dig mer om det JSONL-schema som krävs för varje aktivitetstyp.

Om dina träningsdata har ett annat format (t.ex. pascal VOC eller COCO) är hjälpskript för att konvertera data till JSONL tillgängliga i notebook-exempel.

När du har skapat jsonl-filen enligt stegen ovan kan du registrera den som en datatillgång med hjälp av användargränssnittet. Se till att du väljer stream typ i schemaavsnittet som du ser i den här animeringen.

Animering som visar hur du registrerar en datatillgång från jsonl-filerna

Använda förmärkta träningsdata från Azure Blob Storage

Om du har dina märkta träningsdata i en container i Azure Blob Storage kan du komma åt dem direkt därifrån genom att skapa ett datalager som refererar till containern.

Skapa MLTable

När du har dina etiketterade data i JSONL-format kan du använda dem för att skapa MLTable på det sätt som visas i det här yaml-kodfragmentet. MLtable paketera dina data i ett förbrukningsbart objekt för träning.

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

Du kan sedan skicka in MLTable som dataindata för ditt AutoML-träningsjobb.

Nästa steg