Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ptb_word_lm(tensorflow的LSTM模型)中批次大小的含义_Python_Tensorflow_Lstm - Fatal编程技术网

Python ptb_word_lm(tensorflow的LSTM模型)中批次大小的含义

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

我是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_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值?