【发布时间】:2020-07-20 09:11:15
【问题描述】:
我查看了 PyTorch 文档中的 this 教程以了解迁移学习。有一条线我没听懂。
使用loss = criterion(outputs, labels)计算loss后,使用running_loss += loss.item() * inputs.size(0)计算running loss,最后使用running_loss / dataset_sizes[phase]计算epoch loss。
loss.item() 不应该用于整个小批量(如果我错了,请纠正我)。即,如果 batch_size 是 4,loss.item() 将给出整个 4 图像集的损失。如果这是真的,为什么loss.item() 在计算running_loss 时要与inputs.size(0) 相乘?在这种情况下,这一步是不是像一个额外的乘法?
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: python deep-learning pytorch torch torchvision