【问题标题】:Evaluation of loss with session.run([]) in TensorFlow在 TensorFlow 中使用 session.run([]) 评估损失
【发布时间】:2016-02-17 13:19:36
【问题描述】:

对于简单的梯度下降,我正在使用这个:

_, l, predictions = session.run([optimizer, loss, train_prediction]) 其中优化器 op 最小化损失。

但是我在优化器之后输入了损失,所以损失会在每个 .run() 处被评估两次,一次使用初始权重,然后使用更新的权重?

【问题讨论】:

  • 它将被评估一次,但除非您使用控制边(with_dependencies),否则结果是不确定的——它可能会在更新变量之前或之后评估损失

标签: tensorflow


【解决方案1】:

获取的张量列表中元素的顺序无关紧要(捕获 Python 端的值除外)。它们都将在同一评估期间执行。

在您的示例中,损失将仅评估一次,并且可以在 [optimizer, loss, train_prediction] 之间共享的任何计算都将被共享。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2018-06-11
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 2021-11-19
    相关资源
    最近更新 更多