def my_better_softplus(z):
return tf.where(z > 30., z, tf.math.log(tf.exp(z) + 1.))
#return tf.where(z > 15, z, tf.math.log(z))
x = tf.Variable([89.])
with tf.GradientTape() as tape:
z = my_better_softplus(x)
z, tape.gradient(z, [x])
我认为应该是89
,但它会打印nan
。我尝试了此函数中的所有数字,例如0〜200,但效果不佳。我想知道如何解决这个问题以及造成这个问题的原因。