ptb_word_lm中的batch_size的含义(张量流的LSTM模型)

时间:2016-12-27 03:10:38

标签: python tensorflow lstm

我是张力流的新手,我现在对batch_size的含义感到有些困惑。众所周知,batch_size的含义是每批次的样本数,但根据ptb_word_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_size是什么意思?每批中的序列数量?

但是如果batch_size表示批次数,那么一切都有意义。我误解了什么吗?

1 个答案:

答案 0 :(得分:3)

这里有一些不同的概念:LSTM的纪元,步骤,批处理和展开步骤。

在最高级别,您训练具有多个纪元的网络。在每个时代,您将逐步通过并使用所有训练数据(通常以随机顺序);在每个步骤中,您将训练一批样品。

我认为LSTM增加的混乱是:每一步,你都会训练一系列批次,而不是一批。序列的长度是展开步数(num_steps)。