训练神经网络时batch | 您所在的位置:网站首页 › size1是多大码 › 训练神经网络时batch |
前言:在对神经网络进行训练时,大家经常会遇到一个超参数:batch_size 那么,batch_size究竟是什么,又该如何最优的设置这个值呢? batch_size个人理解:将所训练的样本数量分为多少个为一组。这个值的大小与梯度下降的效率和结果直接相关。 假设训练样本共m个,你设置batch_size为1,则每个样本都是一个batch_size。 你设置batch_size为m,则所有样本组成这一个batch_size。 1与m也是两个极端。 当设置为m时,此时梯度下降称为批量梯度下降法。你可以理解为神经网络进行梯度下降时从最远的点,每次迭代需要遍历整个训练集。(所以需要很大的显存空间,如果你的样本数据不大,可以选择将batch_size设置为m) 当设置为1时,此时梯度下降称为随机梯度下降法。你可以理解为神经网络进行梯度下降时随机找一个点,每次迭代只处理一个训练数据(所以需要很长的时间来完成训练) 综合上述,选择一个合适大小的 batch_size是很重要的,因为计算机字符都是以2的指数次幂进行存储的,所以设置 batch_size时尽量选择例如 4, 8, 16, 32, 64, 128, 256 等。 假设你设置了256,训练网络时报错如下图 那么: 在如下空白处右键点击任务管理器。点击性能 3.查看内存是不是快满了,如果是,可以重启一下电脑重置内存占用。 以上就是我的个人总结,如有错误,欢迎指正。 |
CopyRight 2018-2019 实验室设备网 版权所有 |