tensorflow用延迟初始化局部变量

时间:2017-01-16 20:25:18

标签: python tensorflow

我的数据库是图像的嵌套文件夹。我正在使用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])

0 个答案:

没有答案