この記事では、Azure Machine Learning データのラベル付けプロジェクトからデータ ラベルをエクスポートし、データ探索用の Pandas データフレームなどの一般的な形式に読み込む方法について説明します。
ラベル付きデータセットとは
ラベル付きの Azure Machine Learning データセットは、ラベル付きデータセットと呼ばれています。 これらの特定のデータセットは、専用のラベル列を持つ TabularDataset であり、Azure Machine Learning データのラベル付けプロジェクトの出力としてのみ作成されます。 画像のラベル付けやテキストのラベル付けのためのデータ ラベル付けプロジェクトを作成します。 Machine Learning では、画像の分類 (複数ラベルまたは多クラス) のほか、境界ボックスと組み合わせたオブジェクトの識別でデータ ラベル付けプロジェクトをサポートしています。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションがない場合は、開始する前に無料アカウントを作成してください。
- Azure Machine Learning SDK for Python、または Azure Machine Learning Studio へのアクセス。
- Machine Learning ワークスペース。 「ワークスペース リソースの作成」 を参照してください。
- Azure Machine Learning データのラベル付けプロジェクトへのアクセス。 ラベル付けプロジェクトがない場合は、最初に画像のラベル付けやテキストのラベル付けのためのものを作成します。
データ ラベルをエクスポートする
データのラベル付けプロジェクトを完了したら、ラベル付けプロジェクトからラベル データをエクスポートできます。 そうすることで、データとそのラベルの両方への参照をキャプチャし、COCO 形式で、または Azure Machine Learning データセットとしてエクスポートすることができます。
ラベル付けプロジェクトの [プロジェクトの詳細] ページにある [エクスポート] ボタンを使用します。
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 からラベルにアクセスするためのサンプル コードも用意されています。
ヒント
ラベル付きデータを 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)