gpt4 book ai didi

tensorflow - TensorFlow Gradient Tape 的用途是什么?

转载 作者:行者123 更新时间:2023-12-03 08:39:33 29 4
gpt4 key购买 nike

看了Tensorflow开发者的峰会视频Eager Execution in Tensorflow,主持人介绍了“渐变胶带”。现在我了解到梯度磁带跟踪 TF 模型中发生的自动微分。

我试图理解为什么我会使用渐变胶带?谁能解释梯度胶带如何用作诊断工具?为什么有人会使用 Gradient Tape 而不是仅仅使用 Tensorboard 的权重可视化。

所以我知道模型发生的自动微分是计算每个节点的梯度——这意味着在给定一批数据的情况下调整每个节点的权重和偏差。这就是学习过程。但我的印象是我实际上可以使用 tf.keras.callback.TensorBoard()调用以查看训练的张量板可视化——这样我就可以观察每个节点上的权重并确定是否有任何死节点或过饱和节点。

使用渐变胶带是否只是为了查看某些渐变是否变为零或变得非常大等?或者渐变胶带还有其他用途吗?

最佳答案

启用急切执行后,Tensorflow 将计算代码中出现的张量值。这意味着它不会预先计算通过占位符输入输入的静态图。这意味着要反向传播错误,您必须跟踪计算的梯度,然后将这些梯度应用于优化器。

这与在没有急切执行的情况下运行非常不同,在这种情况下,您将构建一个图表,然后简单地使用 sess.run评估您的损失,然后将其直接传递给优化器。

从根本上说,因为张量是立即评估的,所以你没有计算梯度的图表,所以你需要一个梯度带。与其说它只是用于可视化,不如说是没有它你无法在渴望模式下实现梯度下降。

显然,Tensorflow 可以跟踪每个 tf.Variable 上的每个计算的每个梯度。 .但是,这可能是一个巨大的性能瓶颈。它们暴露了渐变带,以便您可以控制代码的哪些区域需要渐变信息。请注意,在非急切模式下,这将基于作为损失的后代的计算分支静态确定,但在急切模式下,没有静态图,因此无法知道。

关于tensorflow - TensorFlow Gradient Tape 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53953099/

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