项目场景:pytorch 生成图像
描述:想全部引用dataloader里的数据
下面展示一些 代码片
。
image, label = next(iter(test_loader))
for i in range(len(image)):
问题描述
疑惑:image的大小是Batch_size,而不是全部数据
原理分析:
提示:BATCH_SIZE:即一次训练所抓取的数据样本数量;BATCH_SIZE大小的影响
若BATCH_SIZE=m(训练集样本数量);相当于直接抓取整个数据集,训练时间长,但梯度准确。但不适用于大样本训练,比如IMAGENET。只适用于小样本训练,但小样本训练一般会导致过拟合[1]现象,因此不建议如此设置。
若BATCH_SIZE=1;梯度变化波动大,网络不容易收敛。
若BATCH_SIZE设置合适,梯度会变准确。
此时再增加BATCH_SIZE大小,梯度也不会变得更准确。
同时为了达到更高的训练网络精度,应该增大epoch,使训练时间变长。
for image,label in test_loader:
(必须全部迭代)
参考链接
感谢:https://zhuanlan.zhihu.com/p/133864576