赞
踩
假设有一个包含200个样本(数据行)的数据集。Batchsize = 5,Epoch = 1,000 。
1、这意味着数据集将分为40个Batch(=训练完整个样本需要40个Iteration),每个Batch(Iteration)有5个样本。每批五个样品后,模型权重将更新。这也意味着一个epoch将涉及40个Batch或40个模型更新。
2、如果有1000个Epoch,模型将暴露或传递整个数据集1,000次。在整个培训过程中,总共有40,000Batch
(1)iteration:表示1次迭代,每次迭代更新1次网络结构的参数,1个iteration等于使用batchsize个样本训练一次;
(2)batch_size:批大小,即1次迭代所使用的样本量。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
(3)epoch:1个epoch等于使用训练集中的全部样本训练一次。
在深度学习领域中,常用随机梯度下降算法(Stochastic Gradient Descent, SGD)训练深层结构,它有一个好处就是并不需要遍历全部的样本,当数据量非常大时十分有效。此时,可根据实际问题来定义epoch。举个栗子,定义10000次迭代为1个epoch,若每次迭代的batch_size设为256,那么1个epoch相当于过了2560000个训练样本。再举个栗子,训练集有1000个样本,batchsize=10,那么训练完整个样本集需要100次iteration,1次epoch。
参考资料
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。