1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Tensorflow】画像セグメンテーションのデータセットをビルドする

Posted at

Tensorflowチュートリアル

画像セグメンテーションのチュートリアルを行うにあたり
あたまのデータセット読み込みでつまづいたので
自分用にメモ。

ポイント

データセットのダウンロードあるいはビルドで失敗する場合は
あらかじめ手動でデータセットをダウンロードしておき
ビルドのコードを改変して、ローカルのファイルを読み込むようにする

環境

  • Windows 10
  • Anaconda

画像セグメンテーション

Tensorflow公式サイトで画像セグメンテーションのサンプルコードが公開されています。

画像セグメンテーション

いまどきは、関数tfdsをつかってデータセットをダウンロードするようです。

dataset, info = tfds.load('oxford_iiit_pet:3.*.*', with_info=True)

正常にダウンロードされればディレクトリが作成されます。
~\tensorflow_datasets\oxford_iiit_pet\3.2.0

dataset_info.json                                                    
features.json                                                        
label.labels.txt                                                     
oxford_iiit_pet-test.tfrecord-00000-of-00004                         
oxford_iiit_pet-test.tfrecord-00001-of-00004                         
oxford_iiit_pet-test.tfrecord-00002-of-00004                         
oxford_iiit_pet-test.tfrecord-00003-of-00004                         
oxford_iiit_pet-train.tfrecord-00000-of-00004                        
oxford_iiit_pet-train.tfrecord-00001-of-00004                        
oxford_iiit_pet-train.tfrecord-00002-of-00004                        
oxford_iiit_pet-train.tfrecord-00003-of-00004                        
species.labels.txt                                                   

諸事情により、ソースコードを介してデータセットを読み込めない場合
手動でデータソースをダウンロードして、データセットを作ることができます。

報告されているISSUE

404 Error during oxford-pets tutorial dataset loading - Github Issue

自分も上記症状起きましたが、tensorflow_datasetをアップデートし、かつtfds-nightlypip installすることで解消しました。

import tensorflow_datasets as tfds
print(tfds.__version__)

'''出力結果
4.2.0+nightly
'''

チュートリアルの中で使われているデータセット

  • 動物の画像(.jpg): 7,393
  • セグメンテーション用マスク画像(.png): 14,780
  • ファイル名のリスト(.txt)

The Oxford-IIIT Pet Dataset

手動でダウンロードする

30分くらいかかる。
先方サーバーの都合か、しばしば途中で接続が切れるので、放っておくと時間を無駄にする。

Downloads -> 1. Dataset
images.tar.gz

Downloads -> 2. Groundtruth data
annotations.tar.gz

データセットを手動でビルドする

oxford_iiit_pet.pyを編集する。

\anaconda3\envs\py37\Lib\site-packages\tensorflow_datasets\image_classification\oxford_iiit_pet.py

変更前

_BASE_URL = "http://www.robots.ox.ac.uk/~vgg/data/pets/data"
# 中略
dl_paths = dl_manager.download_and_extract({
    "images": _BASE_URL + "/images.tar.gz",
    "annotations": _BASE_URL + "/annotations.tar.gz",
})

変更前では英国サーバーからデータソースをダウンロードして展開しています。

変更後

dl_paths = {
    "images": "~/local/path/to/images", # tar.gzはあらかじめ展開しておく
    "annotations": "~/local/path/to/annotations",
}

Anacondaプロンプトで環境をアクティベイトし
tfds build oxford_iiit_petを実行する。

先述の通り、うまくいけばディレクトリが生成される。
~\tensorflow_datasets\oxford_iiit_pet\3.2.0

EOF

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?