0
我刚开始学习tensorflow,并试图构建一个简单的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>]
为什么矩阵的维数?我希望它是20×110,由于输入具有尺寸20
tf.__version__
# 0.10.0rc0
这个人现在看起来很明显....我不敢相信我没有意识到...... – evan54