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

标签 python tensorflow lstm

我是 tensorflow 新手,我现在对batch_size的含义有点困惑。众所周知,batch_size的含义是每个batch的样本数量,但根据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 中,您将逐步浏览并使用所有训练数据(通常以随机顺序);在每个步骤中,您都会训练一批样本。

我认为 LSTM 带来的困惑在于:每一步,您都会训练一系列批处理,而不是单个批处理。序列的长度是展开步骤的数量 (num_steps)。

关于python - ptb_word_lm中batch_size的含义(tensorflow的LSTM模型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41338553/

相关文章:

python - 预训练 Keras Xception 和 InceptionV3 模型

tensorflow - 与 TensorFlow/cuDNN 中的 NHWC 相比,NCHW 快多少?

python - 保存和恢复 Keras BLSTM CTC 模型

python - 如何用自定义 __len__() 过程替换类 @property 的 len(..) 返回值?

Python如何同时读写一个文件

python - 提取字符、字符串或括号之间的文本

python - 在 OSX 上检查进程是否每 20 秒运行一次并杀死他

python - softmax 的 Tensorflow 问题

快速 coreML : prediction function without "options" parameter

swift - 如何在 swift 中为 tensorflow 编写 RNN/LSTM 自定义层?