Batch Size定义:一次训练所选取的样本数。
Batch Size的大小影响模型的优化程度和速度。同时其直接影响到训练单元(如GPU)的内存的使用情况,假如你训练单元(如GPU)内存不大,该数值最好设置小一点。
Batch Size设置合适时的优点:
1、通过并行化提高内存的利用率。就是尽量让你的训练单元(如GPU)满载运行,提高训练速度。 内存的利用率提高了,大矩阵乘法的并行化效率提高。
2、单个epoch(全数据集)的迭代次数减少了,参数的调整也慢了,假如要达到相同的识别精度,需要更多的epoch。
3、适当Batch Size使得梯度下降方向更加准确。
盲目增大的坏处有三点:
1、当数据集太大时,内存搞不定。
2、跑完一次epocffe-master/tools/extra/parse_log.sh caffe-master/tools/extra/extract_seconds.py和h(全数据集)所需迭代次数减少了,但要想达到相同的精度,时间开销太大,参数的修正更加缓慢。
3、batchsize增大到一定的程度,其确定的下降方向已经基本不再变化。