(对不起,如果听起来有点天真)
我想看看GradientDescent的TensorFlow实现的内容 - 并亲自了解它们如何处理终止条件,步长适应性等。我追溯了training_ops.apply_gradient_descent
的代码但是我找不到实施:(
答案 0 :(得分:4)
TensorFlow Optimizer
接口(其中GradientDescentOptimizer
实现)定义了一个最小化步骤。终止条件或调整步长由用户实现。在MNIST for Beginners教程中,终止条件为"在1000"之后停止。您可以在for i in range(1000)
循环
apply_gradient_descent(a,b,c)
是一个融合操作,将c
乘以b
并将其添加到a
。在Adding a new op HowTo中详细介绍了从Python包装器到C ++实现的一些额外级别的间接,但作为一种快捷方式,您通常可以通过从snake-case转换并搜索它来找到C ++实现,因此ApplyGradientDescent
在这种情况下。这导致在tensorflow/core/kernels/training_ops.cc