三部曲网站建设,浙江企业seo推广,南京seo推广公司,好男人的最好的影院1.batchsize越大 是不是训练越快#xff1f;
GPU :一块2080Ti 平台#xff1a;pytorch cuda 图片数量#xff1a;2700
batchsize一个图片处理时间GPU内存占用GPU算力使用一个epoch 所用时间10.117s2.5G20%2700 * 0.0117 318s50.516s8G90%2700 * 0.516/5 279s
batchsize大…1.batchsize越大 是不是训练越快
GPU :一块2080Ti 平台pytorch cuda 图片数量2700
batchsize一个图片处理时间GPU内存占用GPU算力使用一个epoch 所用时间10.117s2.5G20%2700 * 0.0117 318s50.516s8G90%2700 * 0.516/5 279s
batchsize大了之后占用的资源多了算力多了但是速度没有提升这样是不是太坑了。 我们其实可以把 batchsize设置小点然后把剩余的内存跑其他实验而且再在同一张卡上跑一个新的实验对之前的速度也没有影响。
结论 1.本人实验 batchsize越大训练速度提升不大 2.bachsize小点多跑几个实验真香
完成每个epoch运算的所需的全部时间主要卡在
load数据的时间每个epoch的iter数量。因此对于每个epoch不管是纯计算时间还是全部时间大体上还是大batch能够更节约时间一点但随着batch增大iter次数减小完成每个epoch的时间更取决于加载数据所需的时间此时也不见得大batch能带来多少的速度增益了。
2.batchsize大了是不是结果会变好
收集资料发现确实是这样的但是也不能太大了 Batch_Size 太小算法在 200 epoches 内不收敛。随着 Batch_Size 增大处理相同数据量的速度越快。随着 Batch_Size 增大达到相同精度所需要的 epoch 数量越来越多。由于上述两种因素的矛盾 Batch_Size增大到某个时候达到时间上的最优。由于最终收敛精度会陷入不同的局部极值因此 Batch_Size增大到某些时候达到最终收敛精度上的最优。