0
私はテンソルフローの学習を始めました。単純なrnnを構築しようとしました。以下は、私が経験している問題を再現するために必要なすべてのコードです。tensorflow - BasicRNNCellの行列の形状が(n_hidden x n_input)と等しくないのはなぜですか?
tf.reset_default_graph()
rnn = tf.nn.rnn_cell.BasicRNNCell(110,
activation=tf.sigmoid)
x = tf.placeholder(tf.float32, shape=[20, 5, 2], name='x')
xt = tf.transpose(x)
x_split = [x_temp[:,0,:] for x_temp in tf.split(1, 5, xt)[::-1]]
h_list, _ = tf.nn.rnn(rnn, x_split, dtype=tf.float32)
tf.all_variables()[0].get_shape()
# TensorShape([Dimension(130), Dimension(110)])
x_split
# [<tf.Tensor 'Squeeze:0' shape=(2, 20) dtype=float32>,
# <tf.Tensor 'Squeeze_1:0' shape=(2, 20) dtype=float32>,
# <tf.Tensor 'Squeeze_2:0' shape=(2, 20) dtype=float32>,
# <tf.Tensor 'Squeeze_3:0' shape=(2, 20) dtype=float32>,
# <tf.Tensor 'Squeeze_4:0' shape=(2, 20) dtype=float32>]
なぜマトリックスの寸法ですか?あなたのサイズをチェックしRNN/BasicRNNCell/Linear/Matrix:0
"""Most basic RNN: output = new_state = activation(W * input + U * state + B)."""
変数:私は、入力が次元20
tf.__version__
# 0.10.0rc0
男これは今やとても分かりやすいようです...私は気づいていないとは信じられません... – evan54