请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

batch和epoch

老师,您在3-12节开头讲的时候讲解的内容是不是下面我写的[没听太清]
在fit函数里面主要做了这么几件事情?
1.第一件事情,会按照batch的形式去遍历训练集,在每次训练的时候我们都会得到一个指标loss,需要统计metric
2.在一次batch训练[一次还是一次次]完成之后,相当于一个epoch就结束了,epoch结束后会在验证集上验证
另外,如果2中说的是一次batch训练完成之后,相当于一个epoch就结束了,也就说batchsize=训练集的大小,这就是批梯度下降吧
在下面第一个图中批量梯度下降,batchsize=训练集的大小,
然而在第二张图中optimizer='SGD’SGD不是随机梯度下降么,第一张图中随机梯度下降,batchsize=1,这optimizer的设置跟你讲解的上面第2点不是就不一致了么?[ps:下面第一张图是网上查的资料]
最后,loss,meritcs这些不是在model.compile里面么怎么会在fit函数这边讲呢
图片描述图片描述

正在回答 回答被采纳积分+3

插入代码

1回答

正十七 2022-07-17 09:04:21

在一次batch训练[一次还是一次次]完成之后,相当于一个epoch就结束了,epoch结束后会在验证集上验证

一个epoch的含义是遍历整个数据集一次, 所以一个epoch里会有多个batch。每个batch上都会计算metric,多个batch上会累积metric,并在epoch结束的时候重置状态。


> 在下面第一个图中批量梯度下降,batchsize=训练集的大小,

如上,batch_size 一般等于32,是个比较小的数字,一个epoch要跑num_train_example // batch_size个batch。


> 最后,loss,meritcs这些不是在model.compile里面么怎么会在fit函数这边讲呢

compile的时候是定义,真正的计算是在fit里。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕九州7272337 #1
    老师,谢谢您的回复。另外,课程代码里optimizer=‘SGD’,batch_size 默认是32 【SGD:随机梯度下降】
    但是网上查资料的那张图写的是随机梯度下降的bathc_size=1。这个网上写的不对么
    回复 有任何疑惑可以回复我~ 2022-07-18 13:46:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信