Skip to main content
 首页 » 编程设计

python之ptb_word_lm中batch_size的含义(tensorflow的LSTM模型)

2024年08月21日34jackei

我是 tensorflow 的新手,我现在对 batch_size 的含义有点困惑。众所周知,batch_size的意思是每批处理的样本数,但根据ptb_word_lm中的代码,似乎不是:

阅读器.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 表示批处理的数量,那么一切都有意义。我是不是误会了什么?

请您参考如下方法:

这里有几个不同的概念:LSTM 的 epoch、step、batch 和 unroll steps。

在最高级别,您训练具有多个时期的网络。在每个 epoch 中,您将逐步遍历和使用所有训练数据(通常以随机顺序);在每个步骤中,您训练一批样本。

我认为 LSTM 在这里添加的混淆是:每一步,您将训练一系列批处理,而不是单个批处理。序列的长度是展开步数(num_steps)。