[英]Understanding dimension of input to pre-defined LSTM
我正在尝试在张量流中设计一个模型,以使用lstm预测下一个单词。
RNN的Tensorflow教程提供了伪代码,说明如何将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 vocabulary_size tf.nn.embedding_lookup()
。
因此,这里的问题是如何接下来使用rnn_cell.BasicLSTMCell
函数或使用用户定义的lstm模型进行下一步?
input dimension to LSTM cell
的input dimension to LSTM cell
是什么,如何与num_steps
一起使用?
哪种大小的批次和标签在任何情况下都有用?
PTB的完整示例在源代码中 。 有可以使用的推荐默认值( SmallConfig
, MediumConfig
和LargeConfig
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.