我的数据库是图像的嵌套文件夹。我正在使用os.walk和slice输入生成器创建一个文件名队列,该队列被提供给整个文件读取器。
代码在我的数据库的一小部分上正常工作(当爬行很快时)。但是在整个问题上引发“超出范围”错误。对于更大的数据库,可以通过将纪元计数器设置为无来解决该问题。
有没有办法用延迟/依赖关系初始化变量?
代码的最小例子如下:
ligand_file_list,receptor_file_list = index_the_database(database_path)
ligand_files = tf.convert_to_tensor(ligand_file_list,dtype=tf.string)
receptor_files = tf.convert_to_tensor(receptor_file_list,dtype=tf.string)
filename_queue = tf.train.slice_input_producer([ligand_files,receptor_files],num_epochs=10,shuffle=True)
serialized_ligand = tf.read_file(filename_queue[0])
serialized_receptor = tf.read_file(filename_queue[1])
init_two = tf.initialize_all_variables()
init_one = tf.initialize_local_variables()
sess = tf.Session()
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess,coord=coord)
sess.run([init_one])
sess.run([init_two])
while True:
print sess.run([serialized_ligand,serialized_receptor])