2016-07-13 5 views
1

別のディレクトリ( 'all_image_dir')内のサブディレクトリに格納されているすべてのjpgを読みたいと思います。Tensorflow:さまざまなディレクトリでjpgを読む

filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once('all_image_dir/001/*.jpg')) 

にアクセスするには、次のサブディレクトリ名は、それが使用して、「は、例えば、all_image_dir/001特定のディレクトリ内のすべてのjpgのを読んで、問題はありません

など、「002」、「001」のようなものですすべてのディレクトリにあるすべてのjpgは次のようなものを試しました:

filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once('all_image_dir/*/*.JPG')) 

しかし、これはうまくいきません...どうすればいいですか?

答えて

2

patternへのパターンパラメータは、tf.train.match_filenames_onceに限られています。あなたの特定の場合、あなたのサブディレクトリは001002、... 020とします。その後 ターミナル

に別途001内のファイル、002、などを入手
ln -s folder1 1 
ln -s folder2 2 
... 
ln -s folder20 20 

:あなたは'all_image_dir/*/*.JPG'と同じ効果を達成するために次の操作を行うことができます

all_files = [tf.train.match_filenames_once(
    'all_image_dir/%03d/*' % x) for x in range(20)] 
# Concatenate the list of all the files before passing to string_input_producer 
filename_queue = tf.train.string_input_producer(tf.concat(0, all_files)] 
+0

ありがとうございます!これは非常にうまくいきます... – meridius

0

一方、私はさらに発見しました今アクセス可能なサブディレクトリ内のサブディレクトリ(サブディレクトリ):例えば 'all_image_dir/101/various_name_dir/*。jpg。残念ながら、これらのディレクトリは簡単な方法で名前は付けられていませんが、さまざまな名前が付けられています... - この状況を処理する一般的な方法はありますか?

+0

ubuntuターミナルを使ってすべてのjpgを1つのディレクトリに移動しました。実際には、問題は解決されています... – meridius

+0

ファイルの容量をオーバーフローさせるのに十分なイメージがない場合は、基になるFSのフォルダ/フォルダを選択してください。それ以外の場合は動作しません。 –

関連する問題