这是我的目录树(例如一个文件):
A / 11.JPG
B / m11.jpg
我想获取文件的名称和值(即11),然后是b中相应文件的值(即m11.jpg)。首先,使用 match_filenames_once 创建一个队列,并使用一些操作来获取名称。然后创建第二个队列,其中包含由第一步结果形成的列表。然而,程序似乎陷入无限循环。以下是我的代码。
filename_queue=tf.train.string_input_producer(tf.train.match_filenames_once("./a/*.jpg"))
image_reader = tf.WholeFileReader()
im1_name, im1_raw = image_reader.read(filename_queue)
im1 = tf.image.decode_jpeg(im1_raw)
im1_name = tf.substr([im1_name], pos=2, len=2)
with tf.Session() as sess:
tf.global_variables_initializer().run()
tf.local_variables_initializer().run()
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
im1_name_val, im1_val = sess.run([im1_name, im1])
im1_name_val = im1_name_val.decode('utf-8')
filename_queue2 = tf.train.string_input_producer(['./b/m' + im1_name_val + '.jpg'])
image_reader2 = tf.WholeFileReader()
im2_name, im2_raw = image_reader2.read(filename_queue2)
im2 = tf.image.decode_jpeg(im2_raw)
im2_val = sess.run([im2])
coord.request_stop()
coord.join(threads)
我应该创建2个会话来完成这项工作吗?我不知道。是否有更好(或更快)的方法呢?