1
私はテンソルフローでゼロからRNNをコーディングして学習しようとしています。私はbasicRNNCellを作成し、それを正しい次元のrnn(データ、入力)と呼ぶ必要があることを理解しました。しかし、次のように寸法誤差が発生しています変数basic_rnn_cell/weightsを共有しようとしましたが、形状エラーが指定されました
ここに私が書いたコードがあります。
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]]})
そして、ここではエラーが私が間違って何をやっている
ValueError: Trying to share variable basic_rnn_cell/weights, but specified shape (14, 10) and found shape (6, 4).
ですか?
以前は特定の重み付けを持つ同じ名前のrnnを初期化しました。何とかtfは同じ名前の新しいrnnを再初期化しません。そのエラーが発生しました。とにかく、私の正気を回復してくれてありがとう。 – Yesh