理解tensorflow basicLSTMCell参数输入

understanding tensorflow basicLSTMCell parameter input

我在理解 tensorflow BasicLSTMCell num_units 输入参数时遇到一些问题。

我看过其他帖子,但我没有关注所以希望一个简单的例子能有所帮助。

假设我们有下面的 LTSM RNN 模型。如何确定细胞所需的数量单位? LTSM RNN 可以有这样的结构吗?

   Input Vec       1st Hidden Layer     2nd Hidden Layer     Output
   20 x 1          20 x 1               5 x 1                3 x 1

关注,我已经使用动态 rnn (https://www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn)

为您的模型提供了示例代码
N_INPUT = 20
N_TIME_STEPS = #Define here
N_HIDDEN_UNITS1 = 20
N_HIDDEN_UNITS2 = 5
N_OUTPUT =3

input = tf.placeholder(tf.float32, [None, N_TIME_STEPS, N_INPUT], name="input")

lstm_layers = [tf.contrib.rnn.BasicLSTMCell(N_HIDDEN_UNITS1, forget_bias=1.0),tf.contrib.rnn.BasicLSTMCell(N_HIDDEN_UNITS2, forget_bias=1.0),tf.contrib.rnn.BasicLSTMCell(N_OUTPUT, forget_bias=1.0)]
lstm_layers = tf.contrib.rnn.MultiRNNCell(lstm_layers)

outputs, _ = tf.nn.dynamic_rnn(lstm_layers, input, dtype=tf.float32)

模型的输入(代码中的输入)的形状应为[BATCH_SIZE、N_TIME_STEPS、 N_INPUT] 并且RNN的输出(代码中的输出)是[BATCH_SIZE, N_TIME_STEPS, [=29=的形状]]

希望对您有所帮助。