首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tensorflow每个n纪元的完全连接控制流摘要

tensorflow每个n纪元的完全连接控制流摘要
EN

Stack Overflow用户
提问于 2016-07-07 03:39:55
回答 1查看 148关注 0票数 0

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

我不确定如何在队列中复制这种行为。当一个时期完成时,有没有我可以听到的信号?

(0.9版)

典型的设置如下:

代码语言:javascript
复制
queue=tf.string_input_producer(num_epochs=7)

...#build graph#...

代码语言:javascript
复制
#training
try:
    while not coord.should_stop():
        sess.run(train_op)
except:
    #file has been read num_epoch times
    #do some stuff.. maybe summaries
    coord.request_stop()
finally:
    coord.join(threads)

因此,很明显,我可以只设置num_epoch=1并在except块中创建摘要。这将需要我的整个程序在每个时期运行一次,但不知何故,它似乎不是最有效的。

EN

回答 1

Stack Overflow用户

发布于 2016-07-07 03:46:20

编辑已更改,以说明对问题的编辑。

纪元不是TensorFlow内置的或“已知”的东西。您必须跟踪训练循环中的纪元,并在纪元结束时运行汇总操作。如下所示的伪代码应该可以工作:

代码语言:javascript
复制
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)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38232417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档