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 är i ett annat format, till exempel Pascal Visual Object Classes (VOC) eller COCO, kan du använda ett konverteringsskript för att 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. Exportera sedan de etiketterade data som ska användas för träning av AutoML-modellen.
Förutsättningar
- Bekanta dig med de godkända schemana för JSONL-filer för AutoML-experiment med visuellt innehåll.
Hämta etiketterade data
För att kunna träna modeller för visuellt innehåll med AutoML måste du hämta märkta träningsdata. Bilderna måste laddas upp till molnet. Etikettanteckningar 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änd 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. Mer information finns i Konfigurera ett bildetikettprojekt.
Verktyget hjälper till att skapa, hantera och övervaka uppgifter för dataetiketter för:
- Bildklassificering (flera klasser och flera etiketter)
- Objektidentifiering (avgränsningsruta)
- Instanssegmentering (polygon)
Om du redan har etiketterade data att använda exporterar du dessa etiketterade data som en Azure Machine Learning-datauppsättning och får åtkomst till datamängden under fliken Datauppsättningar i Azure Machine Learning-studio. Du kan skicka den exporterade datamängden som indata med hjälp av azureml:<tabulardataset_name>:<version>
format. Mer information finns i Exportera etiketterna.
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-tillägget v2 (aktuellt)
training_data:
path: azureml:odFridgeObjectsTrainingDataset:1
type: mltable
mode: direct
Använda förmärkta träningsdata från den lokala datorn
Om du har märkt data som du vill använda för att träna din modell laddar du upp bilderna till Azure. Du kan ladda upp dina avbildningar till Azure Blob Storage som standard för din Azure Machine Learning-arbetsyta. Registrera den som en datatillgång. Mer information finns i Skapa och hantera datatillgångar.
Följande skript laddar upp avbildningsdata på den lokala datorn på sökvägen ./data/odFridgeObjects till datalager i Azure Blob Storage. Sedan skapas 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 uppdaterar koden versionsnumret för datatillgången och pekar den på den nya platsen där bilddata laddades upp.
GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)
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 kan du skapa en datatillgång av den. Ange sökvägen till data i datalagringen i stället för sökvägen till den lokala datorn. Uppdatera föregående kod med följande kodfragment.
GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)
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
Hämta sedan etikettanteckningarna i JSONL-format. Schemat för märkta data beror på den uppgift för visuellt innehåll som finns till hands. Mer information om det JSONL-schema som krävs för varje aktivitetstyp finns i Datascheman för att träna modeller för visuellt innehåll med automatiserad maskininlärning.
Om dina träningsdata har ett annat format, till exempel pascal VOC eller COCO, kan hjälpskript konvertera data till JSONL. Skripten är tillgängliga i notebook-exempel.
När du har skapat .jsonl-filen kan du registrera den som en datatillgång med hjälp av användargränssnittet. Kontrollera att du väljer stream
typ i schemaavsnittet som du ser i den här animeringen.
Använda förmärkta träningsdata från Azure Blob Storage
Om dina märkta träningsdata finns i en container i Azure Blob Storage kan du komma åt dem direkt. Skapa ett datalager till containern. Mer information finns i Skapa och hantera datatillgångar.
Skapa MLTable
När dina etiketterade data är i JSONL-format kan du använda dem för att skapa MLTable
som du ser 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. Mer information finns i Konfigurera AutoML för att träna modeller för visuellt innehåll.