gpt4 book ai didi

python - 如何在 Tensorflow 中创建优化器

转载 作者:IT老高 更新时间:2023-10-28 20:28:14 25 4
gpt4 key购买 nike

我想在 Tensorflow 上为我的网络编写一个新的优化算法。我希望执行Levenberg Marquardt optimization algorithm ,现在已从 TF API 中排除。我发现关于如何编写自定义优化器的文档很差,所以我问是否有人可以给我任何建议。谢谢。

最佳答案

最简单的优化器示例可能是 gradient descent optimizer .它显示了如何创建基本 optimizer class 的实例。 .优化器基类文档解释了这些方法的作用。

优化器的 python 端向图中添加了新节点,用于计算和应用反向传播的梯度。它提供传递给操作的参数并执行优化器的一些高级管理。然后,您需要实际的“应用”操作。

Ops 有一个 python 和一个 C++ 组件。编写训练操作与 general process of adding an Op to TensorFlow 相同(但特化) .

有关计算和应用梯度的一组训练操作示例,请参阅 python/training/training_ops.py - 这是实际训练操作的 Python 粘合剂。请注意,这里的代码主要是关于形状推断的——计算将在 C++ 中进行。

应用渐变的实际数学由 Op 处理(回想一下,通常,op 是用 C++ 编写的)。在这种情况下,应用梯度操作在 core/kernels/training_ops.cc 中定义。 .例如,您可以在其中看到 ApplyGradientDescentOp 的实现,它引用了一个仿函数 ApplyGradientDescent:

var.device(d) -= grad * lr();

操作本身的实现遵循添加操作文档中描述的任何其他操作的实现。

关于python - 如何在 Tensorflow 中创建优化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38431054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com