【问题标题】:Understanding dimension of input to pre-defined LSTM了解预定义 LSTM 的输入维度
【发布时间】:2017-03-19 12:12:09
【问题描述】:

我正在尝试在 tensorflow 中设计一个模型来使用 lstm 预测下一个单词。
Tensorflow RNN 教程提供了如何将 LSTM 用于 PTB 数据集的伪代码。
我到了生成批次和标签的步骤。

def generate_batches(raw_data, batch_size):
  global data_index
  data_len = len(raw_data)
  num_batches = data_len // batch_size
  #batch = dict.fromkeys([i for i in range(num_batches)])
  #labels = dict.fromkeys([i for i in range(num_batches)])
batch = np.ndarray(shape=(batch_size), dtype=np.float)
labels = np.ndarray(shape=(batch_size, 1), dtype=np.float)
for i in xrange(batch_size) :   
    batch[i] = raw_data[i + data_index]
    labels[i, 0] = raw_data[i + data_index + 1]
data_index = (data_index + 1) % len(raw_data)
return batch, labels   

此代码给出批次和标签大小 (batch_size X 1)。

使用tf.nn.embedding_lookup(),这些批次和标签的大小也可以是 (batch_size x 词汇大小)。

那么,这里的问题是如何使用函数rnn_cell.BasicLSTMCell 或使用用户定义的lstm 模型进行下一步?
input dimension to LSTM cell 将是什么以及它将如何与num_steps 一起使用?
哪种大小的批次和标签在任何情况下都有用?

【问题讨论】:

    标签: python tensorflow recurrent-neural-network lstm


    【解决方案1】:

    PTB 的完整示例在源代码code 中。您可以使用一些推荐的默认值(SmallConfigMediumConfigLargeConfig)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-23
      • 1970-01-01
      • 2021-06-30
      • 2019-07-21
      • 2018-02-10
      • 1970-01-01
      • 2016-02-10
      相关资源
      最近更新 更多