gpt4 book ai didi

tensorflow - 为什么我的 tf_gradients 返回 None ?

转载 作者:行者123 更新时间:2023-12-03 00:39:43 31 4
gpt4 key购买 nike

# Defining the tf ops
prob_placeholder = tf.placeholder(tf.float32, shape=(2))
log_placeholder = tf.log(prob_placeholder)
grads_placeholder = tf.gradients(ys=tf.log(prob_placeholder), xs=model.weights)


# t is some index into the holders (which are lists)
# s is some state || p_a is some list of [p_1, 1 - p_1] || a_ is either 0 or 1 || r is 1

prob_ = tf_sess.run(prob_placeholder, {prob_placeholder: p_a})
log_ = tf_sess.run(log_placeholder, {prob_placeholder: prob_})
print(prob_, log_)
grads_ = tf_sess.run(grads_placeholder, {prob_placeholder: prob_})

基本上我不确定为什么它返回 None 。

TypeError: Fetch argument None has invalid type <type 'NoneType'>

我尝试添加打印语句,我可以看到 prob_ 和 log_ 输出得很好,但我不确定 tf.gradients 中发生了什么导致了上述问题。

model.weights 基本上是我正在使用的模型的权重。

最佳答案

prob_placeholdermodel.weights 没有任何显式依赖,即它在功能上不依赖于 model.weights 你所拥有的方式定义了它们。

因此,虽然从技术上讲梯度应该为零,但由于technical reasons in TensorFlow,它被计算为None .

关于tensorflow - 为什么我的 tf_gradients 返回 None ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43604608/

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