0

私が直面している問題の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 でテンソルを操作するのはかなり新しいので、連結からテンソルを作成する正しい方法があるかもしれません。

ヘルプ?

4

1 に答える 1