Udostępnij za pośrednictwem


Przygotowywanie danych do zadań przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego w wersji 1

DOTYCZY: Zestaw SDK języka Python w wersji 1

Ważne

Niektóre polecenia interfejsu wiersza polecenia platformy Azure w tym artykule używają azure-cli-mlrozszerzenia , lub w wersji 1 dla usługi Azure Machine Learning. Obsługa rozszerzenia w wersji 1 zakończy się 30 września 2025 r. Będzie można zainstalować rozszerzenie v1 i używać go do tej daty.

Zalecamy przejście do mlrozszerzenia , lub w wersji 2 przed 30 września 2025 r. Aby uzyskać więcej informacji na temat rozszerzenia w wersji 2, zobacz Rozszerzenie interfejsu wiersza polecenia usługi Azure ML i zestaw Python SDK w wersji 2.

Ważne

Obsługa trenowania modeli przetwarzania obrazów za pomocą zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Learning 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 Learning.

Aby wygenerować modele dla zadań przetwarzania obrazów za pomocą rozwiązania AutoML, należy wprowadzić dane obrazu oznaczone etykietą jako dane wejściowe na potrzeby trenowania modelu w postaci zestawu danych tabelarycznych usługi Azure Machine Learning.

Aby upewnić się, że zestaw TabularDataset zawiera akceptowany schemat do użycia w zautomatyzowanym uczeniu maszynowym, możesz użyć narzędzia do etykietowania danych usługi Azure Machine Learning lub użyć skryptu konwersji.

Wymagania wstępne

Etykietowanie danych usługi Azure Machine Learning

Jeśli nie masz etykiet danych, możesz użyć narzędzia do etykietowania danych usługi Azure Machine Learning 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ż projekt etykietowania danych i chcesz użyć tych danych, możesz wyeksportować dane oznaczone etykietą jako zestaw danych tabelarycznych usługi Azure Machine Learning, który może być następnie używany bezpośrednio z automatycznym uczeniem maszynowym do trenowania modeli przetwarzania obrazów.

Używanie skryptów konwersji

Jeśli dane zostały oznaczone etykietą w popularnych formatach danych przetwarzania obrazów, takich jak VOC lub COCO, skrypty pomocnika do generowania plików JSONL na potrzeby danych szkoleniowych i walidacji są dostępne w przykładach notesu.

Jeśli dane nie są zgodne z żadnym z wymienionych wcześniej formatów, możesz użyć własnego skryptu, aby wygenerować pliki JSON Lines. Aby wygenerować pliki JSON Lines, użyj schematów zdefiniowanych w schemacie dla plików JSONL na potrzeby eksperymentów obrazów rozwiązania AutoML.

Po przekonwertowaniu plików danych na akceptowany format JSONL możesz przekazać je na konto magazynu na platformie Azure.

Przekazywanie pliku i obrazów JSONL do magazynu

Aby użyć danych do zautomatyzowanego trenowania uczenia maszynowego, przekaż dane do obszaru roboczego usługi Azure Machine Learning za pośrednictwem magazynu danych. Magazyn danych udostępnia mechanizm przekazywania/pobierania danych do magazynu na platformie Azure i interakcji z nim ze zdalnych celów obliczeniowych.

Przekaż cały katalog nadrzędny składający się z obrazów i plików JSONL do domyślnego magazynu danych, który jest automatycznie tworzony podczas tworzenia obszaru roboczego. Ten magazyn danych łączy się z domyślnym kontenerem usługi Azure Blob Storage utworzonym w ramach tworzenia obszaru roboczego.

# Retrieve default datastore that's automatically created when we setup a workspace
ds = ws.get_default_datastore()
ds.upload(src_dir='./fridgeObjects', target_path='fridgeObjects')

Po zakończeniu przekazywania danych można utworzyć tabelaryczny zestaw danych usługi Azure Machine Learning. Następnie zarejestruj zestaw danych w obszarze roboczym w celu użycia w przyszłości jako danych wejściowych do zautomatyzowanych eksperymentów uczenia maszynowego dla modeli przetwarzania obrazów.

from azureml.core import Dataset
from azureml.data import DataType

training_dataset_name = 'fridgeObjectsTrainingDataset'
# create training dataset
training_dataset = Dataset.Tabular.from_json_lines_files(path=ds.path("fridgeObjects/train_annotations.jsonl"),
                                                         set_column_types={"image_url": DataType.to_stream(ds.workspace)}
                                                        )
training_dataset = training_dataset.register( workspace=ws,name=training_dataset_name)

print("Training dataset name: " + training_dataset.name)

Następne kroki