Przygotowywanie danych do zadań przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
Ważne
Obsługa trenowania modeli przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Edukacja to eksperymentalna funkcja publicznej wersji zapoznawczej. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Z tego artykułu dowiesz się, jak przygotować dane obrazu do trenowania modeli przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Edukacja.
Aby wygenerować modele dla zadań przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego, należy wprowadzić dane z etykietami obrazów jako dane wejściowe na potrzeby trenowania modelu w postaci MLTable
elementu .
Możesz utworzyć element MLTable
na podstawie danych treningowych oznaczonych etykietą w formacie JSONL.
Jeśli dane treningowe oznaczone etykietą mają inny format (na przykład pascal VOC lub COCO), możesz użyć skryptu konwersji, aby najpierw przekonwertować go na format JSONL, a następnie utworzyć MLTable
element . Alternatywnie możesz użyć narzędzia do etykietowania danych usługi Azure Machine Edukacja do ręcznego etykietowania obrazów i wyeksportować dane oznaczone etykietami do użycia na potrzeby trenowania modelu rozwiązania AutoML.
Wymagania wstępne
- Zapoznaj się z akceptowanymi schematami dla plików JSONL dla eksperymentów przetwarzania obrazów automl.
Pobieranie danych oznaczonych etykietami
Aby wytrenować modele przetwarzania obrazów przy użyciu rozwiązania AutoML, należy najpierw uzyskać dane szkoleniowe oznaczone etykietami. Obrazy muszą być przekazywane do chmury i adnotacje etykiet muszą być w formacie JSONL. Możesz użyć narzędzia Azure Machine Edukacja Data Labeling do etykietowania danych lub zacząć od wstępnie oznaczonych danych obrazów.
Używanie narzędzia do etykietowania danych w usłudze Azure Machine Edukacja w celu etykietowania danych treningowych
Jeśli nie masz wstępnie oznaczonych danych, możesz użyć narzędzia do etykietowania danych usługi Azure Machine Edukacja w celu ręcznego etykietowania obrazów. To narzędzie automatycznie generuje dane wymagane do trenowania w akceptowanym formacie.
Ułatwia tworzenie i monitorowanie zadań etykietowania danych oraz zarządzanie nimi
- Klasyfikacja obrazów (wiele klas i wiele etykiet)
- Wykrywanie obiektów (pole ograniczenia)
- Segmentacja wystąpień (wielokąt)
Jeśli masz już oznaczone dane, których chcesz użyć, możesz wyeksportować dane oznaczone etykietą jako zestaw danych usługi Azure Machine Edukacja, a następnie uzyskać dostęp do zestawu danych na karcie "Zestawy danych" w usłudze Azure Machine Edukacja Studio. Wyeksportowany zestaw danych można następnie przekazać jako dane wejściowe przy użyciu azureml:<tabulardataset_name>:<version>
formatu. Oto przykład przekazywania istniejącego zestawu danych jako danych wejściowych do trenowania modeli przetwarzania obrazów.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (bieżąca)
training_data:
path: azureml:odFridgeObjectsTrainingDataset:1
type: mltable
mode: direct
Korzystanie ze wstępnie pasowanych danych treningowych z komputera lokalnego
Jeśli masz oznaczone etykietą dane, których chcesz użyć do trenowania modelu, musisz przekazać obrazy na platformę Azure. Obrazy można przekazać do domyślnej usługi Azure Blob Storage w usłudze Azure Machine Edukacja Workspace i zarejestrować je jako zasób danych.
Poniższy skrypt przekazuje dane obrazu na maszynie lokalnej w ścieżce "./data/odFridgeObjects" do magazynu danych w usłudze Azure Blob Storage. Następnie tworzy nowy zasób danych o nazwie "fridge-items-images-object-detection" w obszarze roboczym usługi Azure Machine Edukacja.
Jeśli w usłudze Azure Machine Edukacja Workspace istnieje już zasób danych o nazwie "lodówek-items-images-object-detection" w obszarze roboczym usługi Azure Machine, aktualizuje numer wersji zasobu danych i wskazuje go na nową lokalizację, w której przekazano dane obrazu.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (bieżąca)
Utwórz plik .yml z następującą konfiguracją.
$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
Aby przekazać obrazy jako zasób danych, uruchom następujące polecenie interfejsu wiersza polecenia w wersji 2 ze ścieżką do pliku .yml, nazwy obszaru roboczego, grupy zasobów i identyfikatora subskrypcji.
az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Jeśli masz już dane obecne w istniejącym magazynie danych i chcesz utworzyć zasób danych, możesz to zrobić, podając ścieżkę do danych w magazynie danych, zamiast podawać ścieżkę komputera lokalnego. Zaktualizuj powyższy kod przy użyciu następującego fragmentu kodu.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (bieżąca)
Utwórz plik .yml z następującą konfiguracją.
$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
Następnie należy pobrać adnotacje etykiet w formacie JSONL. Schemat oznaczonych danymi zależy od zadania przetwarzania obrazów. Zapoznaj się ze schematami plików JSONL dla eksperymentów przetwarzania obrazów automl, aby dowiedzieć się więcej o wymaganym schemacie JSONL dla każdego typu zadania.
Jeśli dane szkoleniowe są w innym formacie (na przykład pascal VOC lub COCO), skrypty pomocnika do konwersji danych na format JSONL są dostępne w przykładach notesu.
Po utworzeniu pliku jsonl, wykonując powyższe kroki, możesz zarejestrować go jako zasób danych przy użyciu interfejsu użytkownika. Upewnij się, że wybrano stream
typ w sekcji schematu, jak pokazano w tej animacji.
Korzystanie ze wstępnie oznakowanych danych treningowych z usługi Azure Blob Storage
Jeśli masz dane szkoleniowe oznaczone etykietą w kontenerze w usłudze Azure Blob Storage, możesz uzyskać do niego dostęp bezpośrednio, tworząc magazyn danych odwołujący się do tego kontenera.
Tworzenie tabeli MLTable
Po utworzeniu danych z etykietą w formacie JSONL można go użyć do utworzenia MLTable
, jak pokazano w tym fragmencie kodu yaml. Rozwiązanie MLtable pakuje dane do obiektu eksploatacyjnego na potrzeby trenowania.
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
Następnie możesz przekazać MLTable
dane wejściowe jako dane dla zadania trenowania rozwiązania AutoML.
Następne kroki
- Trenowanie modeli przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego.
- Trenowanie małego modelu wykrywania obiektów za pomocą zautomatyzowanego uczenia maszynowego.
- Samouczek: trenowanie modelu wykrywania obiektów (wersja zapoznawcza) przy użyciu rozwiązania AutoML i języka Python.