首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用摘要操作训练TensorFlow模型比不使用摘要操作要慢得多

使用摘要操作训练TensorFlow模型比不使用摘要操作要慢得多
EN

Stack Overflow用户
提问于 2017-02-23 12:07:25
回答 1查看 2.6K关注 0票数 7

我正在使用TensorFlow r1.0和图形处理器Nvidia Titan X训练一个类似盗梦空间的模型。

我添加了一些摘要操作来可视化训练过程,使用如下代码:

代码语言:javascript
运行
复制
def variable_summaries(var):
"""Attach a lot of summaries to a Tensor (for TensorBoard visualization)."""
    with tf.name_scope('summaries'):
        mean = tf.reduce_mean(var)
        tf.summary.scalar('mean', mean)
        with tf.name_scope('stddev'):
            stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
        tf.summary.scalar('stddev', stddev)
        tf.summary.scalar('max', tf.reduce_max(var))
        tf.summary.scalar('min', tf.reduce_min(var))
        tf.summary.histogram('histogram', var)

当我运行这些操作时,训练一个时期的时间成本大约是400秒。但是当我关闭这些操作时,训练一个时期的时间成本只有90秒。

如何优化图表以最小化汇总操作的时间成本?

EN

回答 1

Stack Overflow用户

发布于 2019-02-05 22:33:24

总结当然会减慢训练过程,因为您需要做更多的操作,并且需要将它们写入磁盘。此外,直方图摘要会进一步降低训练速度,因为与标量值相比,直方图需要从GPU复制到CPU的数据更多。因此,我会尽量少使用直方图日志记录,这可能会有所不同。

通常的解决方案是每X批只计算一次摘要。由于每个时期只计算一个摘要,而不是每一批,因此尝试更少的摘要日志记录可能是值得的。

这取决于您的数据集中有多少批次,但通常情况下,通过收集更少的日志,您不会丢失太多信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42406843

复制
相关文章

相似问题

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