epoches:神经网络的训练次数
在神经网络训练时,如果数据集足够小,可将数据一次性全部喂给神经网络,如下:
for epoch in range(epoches):
training(dataset)
但我们常常面临的是比较大的数据集,一次性喂给神经网络时,往往会出现内存/显存不足的现象。
此时,我们会把比较大的数据集,分批次喂给神经网络。
batch_size:表示一次性喂给神经网络多少数据。
batches:该值等于dataset除以batch_size。总的数据集是dataset,我们每次喂给神经网络batch_size个数据,一共要喂dataset/batch_size次,才可以把数据集全部处理一遍。
steps:该值等于batches。steps表示在一个epoch内,要迭代多少次才可以把所有的数据都训练一遍;显然,迭代次数等于dataset/batch_size。
分批次训练的伪代码如下:
for epoch in range(epoches):
for batch in range(batches): # 等同于 for step in range(steps)
training(datasets/batches)