对于简单的梯度下降,我使用的是:
_, l, predictions = session.run([optimizer, loss, train_prediction])
优化器最小化损失。
但是我在优化器后输送损失,损失也是如此,在每个.run()中评估两次,一次使用初始权重,然后使用更新的权重?
答案 0 :(得分:4)
获取的张量列表中元素的顺序并不重要(除了捕获Python端的值)。它们都将在同一评估期间执行。
在您的示例中,损失将仅评估一次,并且可以共享[optimizer, loss, train_prediction]
之间可以共享的任何计算。