batch和epoch

来源:3-12 tf.GradientTape与tf.keras结合使用

慕九州7272337

2022-07-13

老师,您在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函数这边讲呢
图片描述图片描述

写回答

1回答

正十七

2022-07-17

在一次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
1
慕九州7272337
老师,谢谢您的回复。另外,课程代码里optimizer=‘SGD’,batch_size 默认是32 【SGD:随机梯度下降】 但是网上查资料的那张图写的是随机梯度下降的bathc_size=1。这个网上写的不对么
2022-07-18
共1条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程