Tensorflow:在各种目录中阅读jpg

时间:2016-07-13 14:29:42

标签: tensorflow

我想读取存储在另一个目录('all_image_dir')中的子目录中的所有jpg。子目录名称类似于'001','002'等。

在某个目录中读取所有jpg并不是问题,例如'all_image_dir / 001,使用:

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

要访问所有目录中的所有jpg,我尝试过这样的事情:

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

但这不起作用...... - 我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

pattern tf.train.match_filenames_once模式参数相当有限。对于您的特定情况,假设您的子目录是001002,... 020。您可以执行以下操作以达到与'all_image_dir/*/*.JPG'相同的效果:

在终端

中分别获取001,002等文件
ln -s folder1 1
ln -s folder2 2
...
ln -s folder20 20

然后:

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(all_files, 0))

答案 1 :(得分:0)

与此同时,我在现在可访问的子目录中发现了更多(子目录)目录:例如' all_image_dir / 101 / various_name_dir / * .jpg。不幸的是,这些目录没有以简单的方式命名(分别枚举),但有各种名称...... - 有一般处理这种情况的方法吗?