Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 tensorflow每个n-epoch的全连接控制流摘要_Python 2.7_Tensorflow_Control Flow - Fatal编程技术网

Python 2.7 tensorflow每个n-epoch的全连接控制流摘要

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更改为考虑对问题的编辑 一个纪元并

当我不使用队列时,我喜欢统计训练期间的损失、准确度、ppv等,并在每个时期结束时提交tf.summary

我不知道如何在队列中复制这种行为。当一个时代结束时,我能听到什么信号吗

(0.9版)

典型的设置如下所示:

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)