Python ptb_word_lm(tensorflow的LSTM模型)中批次大小的含义
我是tensorflow的新手,现在对批量大小的含义有点困惑。众所周知,Python ptb_word_lm(tensorflow的LSTM模型)中批次大小的含义,python,tensorflow,lstm,Python,Tensorflow,Lstm,我是tensorflow的新手,现在对批量大小的含义有点困惑。众所周知,batch\u size的含义是每个批次的样本数量,但根据ptb\u word\u lm中的代码,似乎不是: reader.py: data_len = tf.size(raw_data) #the number of words in dataset batch_len = data_len // batch_size batch_len是什么意思?批次的数量 ptb_word_lm.py: self.epoch_si
batch\u size
的含义是每个批次的样本数量,但根据ptb\u word\u lm
中的代码,似乎不是:
reader.py:
data_len = tf.size(raw_data) #the number of words in dataset
batch_len = data_len // batch_size
batch_len是什么意思?批次的数量
ptb_word_lm.py:
self.epoch_size = ((len(data) // batch_size) - 1) // num_steps
epoch\u size
是什么意思?每批中的序列数
但是如果批次大小意味着批次的数量,那么一切都是有意义的。我误解了什么吗?这里有几个不同的概念:LSTM的历元、步骤、批处理和展开步骤 在最高级别上,您可以训练具有多个时代的网络。在每一个历元中,您将逐步地遍历并使用所有的训练数据(通常是以随机顺序);在每个步骤中,您都要训练一批样本
我认为LSTM在这里增加的混淆是:每一步,您将训练一系列批次,而不是单个批次。序列的长度是展开步骤的数量(num_steps)。谢谢,这是有意义的,这也是原始数据应重新调整为[batch_size,batch_len]的原因。因此,澄清一下:“batch”是输入到LSTM的向量,而num_steps是我们在训练时输入到LSTM的序列中的批次数量?那么,如果我在学习一个时间序列,它由每个时间步的X,Y,Z值组成,那么一个批次就是一个时间步的X,Y,Z值?