如果我不为 tensorflow 中的操作提供梯度,梯度下降如何工作?

If I don't provide a gradient for an op in tensorflow, how does gradient descent work?

添加新操作时,文档 (https://www.tensorflow.org/versions/r0.10/how_tos/adding_an_op/index.html) 说:

可选地,编写一个函数来计算 Op 的梯度。

这个是可选的,如果我不写,梯度下降怎么计算梯度?它使用数值方法吗?如果是这样,什么?这会更慢吗?

视操作而定。如果操作由其他基元组成,则梯度下降能够产生自动微分功能。

如果您的操作是新基元,那么您必须提供梯度函数,否则梯度下降将不起作用。

Tensorflow 中的梯度实现是精确函数。数值方法仅用于测试梯度函数实现。