在Caffe中训练时,每次迭代都会有训练和测试网络输出。我知道这是损失。然而,这是我的批次的平均损失还是总损失?对于分类和回归来说,这是否相同?
例如,如果我有一个包含100个训练样本的批次,并且该迭代的损失为100,这是否意味着每个样本的平均损失为1?
回答:
训练损失是最后一个训练批次的平均损失。这意味着,如果你的小批次中有100个训练样本,并且该迭代的损失为100,那么每个样本的平均损失等于100。
测试损失也是平均损失,但它是所有测试批次的平均值。你可以指定测试批次的大小和测试迭代的次数。Caffe会取#iter个这样的小批次,计算它们的损失,并提供给你一个平均值。如果#test_iter x batch_size == testset_size
,你将得到整个测试集的平均值。