Ich versuche zu programmieren und lernen RNN von Grund auf in Tensorflow. Ich habe verstanden, dass wir ein basicRNNCell erstellen und es als rnn (Daten, Eingabe) mit den richtigen Dimensionen bezeichnen müssen. Aber ich bekomme Dimensionsfehler wie unten gezeigtDer Versuch, Variable basic_rnn_cell/Gewichte zu teilen, aber angegebene Form Fehler
Hier ist der Code, den ich geschrieben habe.
x = tf.placeholder(dtype=tf.float32, shape=[2, 4]) # Batchsize: 2, stepsize: 4
rnn = tf.contrib.rnn.BasicRNNCell(10, reuse=True)
state = rnn.zero_state(2, dtype=tf.float32) # A matrix of shape [2, 10]
rnn(x, state) # ERROR OCCURS AT THIS LINE
with tf.Session() as sess:
sess.run(y, feed_dict={x: [[1, 2, 1, 1], [0, 0, 0, 1]]})
Und hier ist der Fehler
ValueError: Trying to share variable basic_rnn_cell/weights, but specified shape (14, 10) and found shape (6, 4).
Was mache ich falsch?
Ich habe zuvor eine RNN mit dem gleichen Namen initialisiert, die einen bestimmten Satz von Gewichten hatte. Irgendwie wird tf einen neuen rnn mit dem gleichen Namen nicht reinitialisieren und ich bekam diesen Fehler. Wie auch immer, danke für die Wiederherstellung meiner Gesundheit. – Yesh