Anacondaを使用してMacでDeepLabのデータセット作成
Deeplabで使用するtfrecord形式のデータセット作成について、ググりながら試した結果まとめ。データセットが正しいかは今後確認。
データの準備
以下フォルダをコピーする。
tensorflow/models/research/deeplab/datasets
datasets配下の以下フォルダを空にしてオリジナル画像を配置する。
datasets/pascal_voc_seg/VOCdevkit/VOC2012/JPEGImages
以下フォルダを空にしてクラス画像(元画像をクラスごとに色分けした画像)を配置する。(拡張子は別でもよい)。
datasets/pascal_voc_seg/VOCdevkit/VOC2012/SegmentationClass
以下フォルダにデータセットのリストを配置する。"trainval.txt"には全データのリストを、"train.txt"には学習用データのリストを、"train.txt"には評価用データのリストを記述する。
データ名は画像ファイルから拡張子を除いたものになる。
datasets/pascal_voc_seg/VOCdevkit/VOC2012/ImageSets/Segmentation
以下フォルダにクラス画像をグレースケールに変換した画像が出力されるので空にしておく。
datasets/pascal_voc_seg/VOCdevkit/VOC2012/SegmentationClassRaw
以下フォルダにTFRecord形式のデータセットが出力されるので空にしておく。
datasets/pascal_voc_seg/tfrecord
シェルスクリプトの編集
datasets/download_and_convert_voc2012.sh
60行目をコメントアウトする。
download_and_uncompress "${BASE_URL}" "${FILENAME}"
オリジナル画像がPNG形式の場合は89行目の"jpg"を"png"にを変更。
--image_format="jpg" \
実行結果(学習用データ50、評価用データ20の場合)
bash-3.2$ sh download_and_convert_voc2012.sh
Removing the color map in ground truth annotations...
Converting PASCAL VOC 2012 dataset...
2019-07-10 17:02:53.089322: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2019-07-10 17:02:53.089654: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 4. Tune using inter_op_parallelism_threads for best performance.
>> Converting image 1/50 shard 0WARNING:tensorflow:From ./build_voc2012_data.py:116: FastGFile.__init__ (from tensorflow.python.platform.gfile) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.gfile.GFile.
>> Converting image 13/50 shard 0
>> Converting image 26/50 shard 1
>> Converting image 39/50 shard 2
>> Converting image 50/50 shard 3
>> Converting image 18/70 shard 0
>> Converting image 36/70 shard 1
>> Converting image 54/70 shard 2
>> Converting image 70/70 shard 3
>> Converting image 5/20 shard 0
>> Converting image 10/20 shard 1
>> Converting image 15/20 shard 2
>> Converting image 20/20 shard 3
多分これでtfrecoed形式のデータが作成できたはず。
正しくデータが作成できたかはこのデータでモデルを作成してテストしてから。 ■