gpt4 book ai didi

python - 区别 - tf.gradients 与 tf.keras.backend.gradients

转载 作者:行者123 更新时间:2023-12-01 06:20:21 25 4
gpt4 key购买 nike

作为 Tensorflow 新手,我试图了解 tf.gradients 和 tf.keras.backend.gradients 底层功能之间的区别。

后者找到输入特征值相对成本函数的梯度。

但是我无法清楚地了解前者是计算成本函数上的梯度还是输出概率(例如,考虑使用简单前馈网络进行二元分类的情况。这里的输出概率指的是单神经元最后一层的 Sigmoid 激活结果。成本由二元交叉熵给出)

我已经引用了 tf.gradients 的官方文档,但它简短而模糊(对我来说),而且我没有得到清晰的图片 - 文档提到它只是“y” - 是成本还是输出概率?

为什么我需要渐变?实现基于梯度的基本特征归因。

最佳答案

它们基本上是相同的。 tf.keras 是 TensorFlow 的高级 API,用于构建和训练深度学习模型。它用于快速原型(prototype)设计、最先进的研究和生产。 tf.Keras 基本上在其后端使用 Tensorflow。通过查看tf.Keras源代码here ,我们可以看到 tf.keras.backend.gradients 确实使用了 tf.gradients:

# Part of Keras.backend.py

from tensorflow.python.ops import gradients as gradients_module

@keras_export('keras.backend.gradients')
def gradients(loss, variables):
"""Returns the gradients of `loss` w.r.t. `variables`.
Arguments:
loss: Scalar tensor to minimize.
variables: List of variables.
Returns:
A gradients tensor.
"""
# ========
# Uses tensorflow's gradient function
# ========
return gradients_module.gradients(
loss, variables, colocate_gradients_with_ops=True)

关于python - 区别 - tf.gradients 与 tf.keras.backend.gradients,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60384790/

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