我想读取存储在另一个目录('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'))
但这不起作用...... - 我怎么能这样做?
答案 0 :(得分:4)
pattern
tf.train.match_filenames_once
模式参数相当有限。对于您的特定情况,假设您的子目录是001
,002
,... 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。不幸的是,这些目录没有以简单的方式命名(分别枚举),但有各种名称...... - 有一般处理这种情况的方法吗?