首页 > 编程知识 正文

请列举出两种常用的神经网络模型,设计一个神经网络并概括其训练过程

时间:2023-05-05 13:56:53 阅读:157587 作者:3566

AI :训练神经网络模型过程中batch_size、steps_per_epoch、epochs的意义

batch_size :批大小。 batch_size是计算效率和内存容量的平衡参数。 对于高性能GPU,可以将batch_size的值设定得较大。 在神经网络训练中,如果随机梯度下降,则采用梯度数,即每次batch_size个数据样本训练、更新权重参数。 一次迭代相当于用batch_size个样本训练一次。

如果batch_size太小,则训练数据非常难收敛,无法拟合。

batch_size越大,处理速度越快,但计算设备的内存要求也相应增加。

epochs :所有训练样本完成一次向前运算和一次BP运算。 所有图像的训练,使用所有样本训练一次。 一个epoch是所有训练样本的正向传递和反向传递。

例如,训练数据集总共有1000个样本。 如果batch_size=10,则训练完整体样本集需要100次迭代,1次epoch。

在以steps_per_epoch循环的epoch中所包含的步骤数(各步骤为batch_size个数据传输),通过TensorFlow数据Tensor输入并训练自豪烟草的情况下,默认的None

训练样本数除以batch_size批大小。 例如,如果总共有100个训练图像,且batch_size批大小为50,则steps_per_epoch的值为2。

batch_size=整个数据集的大小/steps_per_epoch。 当设置batch_size的大小时,对于fit_generator,steps _ per _ epoch=len (x _ train (//(batch _ size * epochs ) ) )

steps_per_epoch是在下一轮epoch开始之前调用generator生成准备数据的次数,如果generator每次必须返回batch_size个training样本:

seps _ per _ epoch=total _ samples//(batch _ size )

这里的//可以被截断,为了舍弃最后不满足batch_size的数据,可以使用numpy.ceil的函数进行舍入。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。