Python 2.7 tensorflow每个n-epoch的全连接控制流摘要
当我不使用队列时,我喜欢统计训练期间的损失、准确度、ppv等,并在每个时期结束时提交tf.summary 我不知道如何在队列中复制这种行为。当一个时代结束时,我能听到什么信号吗 (0.9版) 典型的设置如下所示:Python 2.7 tensorflow每个n-epoch的全连接控制流摘要,python-2.7,tensorflow,control-flow,Python 2.7,Tensorflow,Control Flow,当我不使用队列时,我喜欢统计训练期间的损失、准确度、ppv等,并在每个时期结束时提交tf.summary 我不知道如何在队列中复制这种行为。当一个时代结束时,我能听到什么信号吗 (0.9版) 典型的设置如下所示: queue=tf.string_input_producer(num_epochs=7) …#构建图# 因此,很明显,我可以设置num_epoch=1,并在except块中创建摘要。这将需要每个历元运行一次我的整个程序,但它似乎不是最有效的。EDIT更改为考虑对问题的编辑 一个纪元并
queue=tf.string_input_producer(num_epochs=7)
…#构建图#
因此,很明显,我可以设置num_epoch=1,并在except块中创建摘要。这将需要每个历元运行一次我的整个程序,但它似乎不是最有效的。EDIT更改为考虑对问题的编辑 一个纪元并不是一个内置的或“已知”于TensorFlow的东西。您必须跟踪培训循环中的各个时期,并在一个时期结束时运行总结操作。下面这样的伪代码应该可以工作:
num_mini_batches_in_epoch = ... # something like examples_in_file / mini_batch_size
try:
while True:
for i in num_mini_batches_in_epoch:
if coord.should_stop(): raise Exception()
sess.run(train_op)
sess.run([loss_summary, accuracy_summary])
except:
#file has been read num_epoch times
#do some stuff.. maybe summaries
coord.request_stop()
finally:
coord.join(threads)
凯夫曼,我想你误解了。这不是我知道tensorflow与队列一起运行的方式。。。我将编辑我的问题来说明我的意思,当然,TensorFlow知道各个时代。
input\u producer
对象甚至具有num\u epoch
选项。你的意思是说tf的发展没有考虑到时代。
num_mini_batches_in_epoch = ... # something like examples_in_file / mini_batch_size
try:
while True:
for i in num_mini_batches_in_epoch:
if coord.should_stop(): raise Exception()
sess.run(train_op)
sess.run([loss_summary, accuracy_summary])
except:
#file has been read num_epoch times
#do some stuff.. maybe summaries
coord.request_stop()
finally:
coord.join(threads)