私が直面している問題のMWEは次のとおりです。
import tensorflow as tf
with tf.GradientTape() as tape:
x = tf.Variable(0.0)
y = tf.Variable(x)
z = x
print(tape.gradient(y, x))
# None
print(tape.gradient(z, x))
# 1.0
明らかに、これはこの特定の状況では簡単に修正できますが、私が直面している実際の使用例では、再帰型ニューラル ネットワークに関係して、次tf.Variable
のように、他のテンソルを連結してテンソルを形成するために使用する必要があります。
Dout = tf.Variable([seed]) # initialize
for i in range(n):
Dout = tf.concat([Dout,
G.forward_step(Dout[-1])],
axis = 0)
まあ、私は実際に TF でテンソルを操作するのはかなり新しいので、連結からテンソルを作成する正しい方法があるかもしれません。
ヘルプ?