ImageNet データセットのダウンロード、前処理、アップロード
このドキュメントでは、Cloud TPU VM アーキテクチャで使用する ImageNet データセットをダウンロード、前処理、アップロードする方法について説明します。
ImageNet は画像データベースです。このデータベース内では画像が階層に編成されていて、階層の各ノードには数百、数千もの画像が含まれています。ImageNet データベースのサイズによっては、モデルのトレーニングにはかなりの時間がかかる場合があります。代替手段として、このデータセットの fake_imagenet と呼ばれるデモバージョンを使用する方法もあります。このデモバージョンを使用すると、モデルのテストが可能になり、同時に、完全な ImageNet データベースの使用に伴うストレージ要件と時間要件が削減されます。
完全版の ImageNet データセットの前処理
ImageNet データセットは、トレーニング データ、検証データ、画像ラベルの 3 つの部分で構成されます。
トレーニング データには 1,000 個のカテゴリと 120 万個の画像が含まれており、ダウンロードしやすいようにパッケージ化されています。検証データとテストデータは、ImageNet トレーニング データには含まれていません(重複は削除されています)。
検証データとテストデータは、Flickr やその他の検索エンジンから収集された 150,000 枚の写真で構成され、1,000 個のオブジェクト カテゴリの存在または不在のラベルが付いています。1,000 個のオブジェクト カテゴリには ImageNet の内部ノードとリーフノードの両方が含まれますが、両者は重複しません。ラベルの付いた 50,000 枚の画像のランダムなサブセットが、1,000 個のカテゴリのリストとともに検証データとしてリリースされています。残りの画像は評価用に使用され、ラベルなしでリリースされています。
完全な ImageNet データセットの前処理手順
ML モデルで使用する ImageNet の完全なデータセットを準備するには、次の 5 つの操作を行います。
容量の要件を確認する
データセットをローカルマシンにダウンロードする場合でも、VM インスタンスにダウンロードする場合でも、ダウンロード先に約 300 GiB の空き容量が必要です。
TPU VM のデフォルトのディスク割り当ては 100 GiB です。TPU VM へのダウンロードには 300 GiB が必要なため、TPU VM インスタンスにダウンロードする場合は、200 GiB の追加容量を持つ耐久性のあるブロック ストレージ ボリュームを追加してからダウンロードする必要があります。TPU VM の場合、df -ha コマンドを実行して空き容量を確認できます。アタッチされたディスクのサイズ変更の詳細については、Google Cloud Hyperdisk ボリュームの設定を変更すると Persistent Disk ボリュームのサイズを増やすをご覧ください。
耐久性のあるブロック ストレージを追加するときは、ディスクをマウントしたディレクトリをメモしておいてください。例: /mnt/disks/mnt-dir。
ターゲット ディレクトリを設定する
ローカルマシンまたは VM インスタンスで、ダウンロードしたデータを格納するディレクトリ構造を設定します。
データをダウンロードするディレクトリに移動します。永続ディスクを使用している場合は、DATASET_ROOT_DIR をディスクがマウントされているディレクトリに置き換えます(例:
/mnt/disks/mnt-dir)。cd DATASET_ROOT_DIR
ダウンロード ターゲット(ローカルマシンまたは TPU VM)に
imagenetなどのディレクトリを作成します。mkdir imagenetこのディレクトリに、
trainとvalidationという 2 つのサブディレクトリを作成します。mkdir