1

不知何故,我的火车循环中没有渐变。下面是一个简单的例子。

import tensorflow as tf
import tensorflow_probability as tfp
tf.enable_eager_execution()

hidden_size = 32
output_size = 1
m = tf.keras.Sequential(
[
            tfp.layers.DenseLocalReparameterization(hidden_size, tf.nn.leaky_relu),
            tfp.layers.DenseLocalReparameterization(hidden_size, tf.nn.leaky_relu),
            tfp.layers.DenseLocalReparameterization(output_size)
        ]
)

如果我两次运行渐变记录步骤,第二次不会显示任何渐变。返回一个带有None类型的列表。

for _ in range(2):
    with tf.GradientTape() as tape:
        loss_value = m(tf.ones((1, 2))) * 2
        print(tape.gradient(loss_value, m.trainable_variables))

如果我们将模型替换m为“标准”张量流模型,则情况并非如此,即

m = tf.keras.Sequential([tf.keras.layers.Dense(1)])

我正在使用 tensorflow=1.13.1 和 tensorflow-probability=0.6.0

4

1 回答 1

1

这似乎是一个临时错误。我上传到张量流和张量流概率的每晚发布,问题就解决了。

于 2019-06-19T07:51:33.430 回答