自動機械学習による Computer Vision タスク用にデータを準備する v1
適用対象: Python SDK azureml v1
重要
この記事の Azure CLI コマンドの一部では、Azure Machine Learning 用に azure-cli-ml
、つまり v1 の拡張機能を使用しています。 v1 拡張機能のサポートは、2025 年 9 月 30 日に終了します。 その日付まで、v1 拡張機能をインストールして使用できます。
2025 年 9 月 30 日より前に、ml
(v2) 拡張機能に移行することをお勧めします。 v2 拡張機能の詳細については、Azure ML CLI 拡張機能と Python SDK v2 に関するページを参照してください。
重要
Azure Machine Learning の自動 ML による Computer Vision モデルのトレーニングのサポートは、試験的なパブリック プレビュー機能です。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
この記事では、Azure Machine Learning の自動機械学習で、Computer Vision モデルのトレーニング用画像データを準備する方法について説明します。
AutoML を使用して Computer Vision タスクのモデルを生成するには、ラベル付き画像データを Azure Machine Learning TabularDataset の形式でモデル トレーニングの入力として取り込む必要があります。
自動 ML での使用を承認されたスキーマが TabularDataset に含まれていることを確認するには、Azure Machine Learning データのラベル付けツールを使用するか、変換スクリプトを使用します。
前提条件
Computer Vision の自動 ML 実験用に承認された JSONL ファイルのスキーマについて理解を深めます。
自動 ML で Computer Vision モデルをトレーニングするために使用するラベル付きデータ。
Azure Machine Learning のラベル付け
ラベル付きデータを持っていない場合は、Azure Machine Learning のデータのラベル付けツールを使用して、画像に手動でラベルを付けることができます。 このツールは、トレーニングに必要なデータを承認された形式で自動的に生成します。
以下のようなデータのラベル付けタスクを作成、管理、および監視するのに役立ちます
- 画像分類 (複数クラスおよび複数ラベル)
- オブジェクトの検出 (境界ボックス)
- インスタンスのセグメント化 (ポリゴン)
データのラベル付けプロジェクトが既に存在していて、そのデータを使用する場合は、ラベル付きデータを Azure Machine Learning TabularDataset としてエクスポートできます。これは、Computer Vision モデルをトレーニングするための自動 ML で直接使用できます。
変換スクリプトを使用する
VOC や COCO など、一般的な Computer Vision のデータ形式でラベル付けしたデータがある場合は、トレーニング データと検証データ用に JSONL ファイルを生成するヘルパー スクリプトがノートブックの例で利用できます。
前述のいずれの形式にも準拠していない場合、独自のスクリプトを使用して JSON Lines ファイルを生成できます。 JSON Lines ファイルを生成するには、AutoML イメージ実験の JSON ファイルのスキーマに関するページに定義されているスキーマを使用します。
データ ファイルが承認された JSONL 形式に変換された後に、Azure のストレージ アカウントにアップロードできます。
JSONL ファイルと画像をストレージにアップロードする
データを自動 ML トレーニングに使用するには、データストアを使用してデータを Azure Machine Learning ワークスペースにアップロードします。 データストアは、データを Azure 上のストレージにアップロード/ダウンロードし、リモート コンピューティング先からデータを操作するためのメカニズムを提供します。
ワークスペースの作成時に自動的に作成される既定のデータストアに、画像や JSONL ファイルを含む親ディレクトリ全体をアップロードします。 このデータストアは、ワークスペースの作成の一環として作成された既定の Azure BLOB ストレージ コンテナーに接続します。
# 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')
データのアップロードが完了したら、Azure Machine Learning TabularDataset を作成できます。次に、コンピューター ビジョン モデルの自動 ML 実験への入力として将来使用するために、データセットをワークスペースに登録します。
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)