Share via


ラベル付き Azure Machine Learning データセットを作成して探索する

この記事では、Azure Machine Learning データのラベル付けプロジェクトからデータ ラベルをエクスポートし、データ探索用の Pandas データフレームなどの一般的な形式に読み込む方法について説明します。

ラベル付きデータセットとは

ラベル付きの Azure Machine Learning データセットは、ラベル付きデータセットと呼ばれています。 これらの特定のデータセットは、専用のラベル列を持つ TabularDataset であり、Azure Machine Learning データのラベル付けプロジェクトの出力としてのみ作成されます。 画像のラベル付けテキストのラベル付けのためのデータ ラベル付けプロジェクトを作成します。 Machine Learning では、画像の分類 (複数ラベルまたは多クラス) のほか、境界ボックスと組み合わせたオブジェクトの識別でデータ ラベル付けプロジェクトをサポートしています。

前提条件

データ ラベルをエクスポートする

データのラベル付けプロジェクトを完了したら、ラベル付けプロジェクトからラベル データをエクスポートできます。 そうすることで、データとそのラベルの両方への参照をキャプチャし、COCO 形式で、または Azure Machine Learning データセットとしてエクスポートすることができます。

ラベル付けプロジェクトの [プロジェクトの詳細] ページにある [エクスポート] ボタンを使用します。

Export button in studio UI

COCO

COCO ファイルは、Azure Machine Learning ワークスペースの既定の BLOB ストアにある export/coco 内のフォルダーに作成されます。

Note

物体検出プロジェクトでは、COCO ファイルのエクスポートされた "bbox": [x,y,width,height]" 値が正規化されます。 これらは 1 にスケーリングされます。 例: 640 x 480 ピクセルのイメージでは、(10, 10) の位置にある境界ボックス (幅 30 ピクセル、高さ 60 ピクセル) に次のような注釈が付けられます: (0.015625. 0.02083, 0.046875, 0.125)。 座標は正規化されているため、すべてのイメージの "幅" と "高さ" が "0.0" として表示されます。 実際の幅と高さは、OpenCV や Pillow (PIL) などの Python ライブラリを使用して取得できます。

Azure Machine Learning のデータセット

エクスポートした Azure Machine Learning データセットには、Azure Machine Learning Studio の [データセット] セクションでアクセスできます。 また、データセットの [詳細] ページには、Python からラベルにアクセスするためのサンプル コードも用意されています。

Exported dataset

ヒント

ラベル付きデータを Azure Machine Learning データセットにエクスポートした後、AutoML を使用して、ラベル付きデータでトレーニングされた Computer Vision モデルを作成できます。 詳しくは、Python で Computer Vision モデルをトレーニングするための AutoML の設定に関する記事をご覧ください

Pandas データフレームを使用してラベル付けされたデータセットを探索する

ラベル付けされたデータセットを Pandas データフレームに読み込み、azureml-dataprep クラスの to_pandas_dataframe() メソッドを使用して、一般的なオープンソース ライブラリを活用してデータ探索を行います。

次のシェル コマンドを使用して、このクラスをインストールします。

pip install azureml-dataprep

次のコードでは、animal_labels データセットは、以前にワークスペースに保存されたラベル付けプロジェクトからの出力です。 エクスポートされたデータセットは TabularDataset です。

適用対象:Python SDK azureml v1

import azureml.core
from azureml.core import Dataset, Workspace

# get animal_labels dataset from the workspace
animal_labels = Dataset.get_by_name(workspace, 'animal_labels')
animal_pd = animal_labels.to_pandas_dataframe()

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

#read images from dataset
img = mpimg.imread(animal_pd['image_url'].iloc(0).open())
imgplot = plt.imshow(img)

次のステップ