在Tensorflow中有一些函数可以读取文件,但是这些函数接受文件名的队列。在
这意味着,在读取文件时,我必须从文件本身精确地推断出标签。在
不幸的是,内存中有一个元组列表,其中每个元组由文件名和标签组成。一、 标签不在文件中,而是在内存中。在
是否可以创建两个同步队列,或者以其他方式从不同的源获取数据和标签?在
更新
我写过这样的东西,但失败了
数据=[[os.path.join操作系统(corpus_dir,filename),label]用于数据中的(filename,label)]def read_my_file():
records = tf.train.input_producer(data)
record = records.dequeue()
filename = record[0]
filenames = tf.FIFOQueue(1, tf.string)
filenames.enqueue(filename)
label = record[1]
reader = tf.WholeFileReader()
key, raw = reader.read(filenames)
image = tf.image.decode_png(raw)
return image, label
image, label = read_my_file()
init_op = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init_op)
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
for i in range(10):
image1, label1 = sess.run(image, label)
print(label1)
这里的data是Python内存中元组的列表,filenames是我组织的一个队列,用于向文件读取器提供信息。在
看上去糟透了,不起作用:
^{pr2}$
如你所见,我在任何地方都不使用条件限制。在