张量流中的Pytorch等效功能?

San*_*jee 3 neural-network keras tensorflow pytorch

我最近在读一Pytorch代码,并碰上了loss.backward()optimizer.step()功能,是否有这些使用tensorflow / keras任何等效?

Ten*_*ior 8

loss.backward()tensorflow 中的等价物是tf.GradientTape(). TensorFlow 提供了tf.GradientTape用于自动微分的API - 计算相对于其输入变量的计算梯度。Tensorflow 将tf.GradientTape在 a的上下文中执行的所有操作“记录”到“磁带”上。然后,Tensorflow 使用该磁带和与每个记录操作相关的梯度,使用反向模式微分来计算“记录”计算的梯度。

optimizer.step()tensorflow 中的等价物是minimize(). 通过更新变量列表来最小化损失。调用minimize()负责计算梯度并将它们应用于变量。

如果您想在应用之前处理梯度,您可以分三个步骤使用优化器:

  1. 用 计算梯度tf.GradientTape
  2. 根据需要处理渐变。
  3. 应用处理后的渐变apply_gradients()

希望这能回答你的问题。快乐学习。

  • @Sandipan Banerjee - 如果它回答了您的问题,您能接受并投票吗?谢谢。 (2认同)
  • 但你仍然可以接受这个答案。要将答案标记为已接受,请单击答案旁边的复选标记,将其从灰色切换为已填写。 https://stackoverflow.com/help/someone-answers (2认同)