在训练网络时,如果纪元中的样本数量不是批量大小的整数倍,这是否会造成影响?我的训练代码似乎对此并不在意,尽管目前我的损失曲线相当嘈杂(如果这是一个相关问题的话)。
了解这一点将非常有用,因为如果这不是一个问题,就可以避免对数据集进行调整以使其按批量大小量化。这样也可能更少浪费已捕获的数据。
回答:
如果纪元中的样本数量不是批量大小的整数倍,这是否会造成影响
不会,这不会造成影响。你的样本数量可以是1000,而你的批量大小可以是400。
你可以根据你希望覆盖的总纪元数来决定总迭代次数(每个迭代 = 抽取一个批次并进行梯度下降)。假设你希望大约有5个纪元,那么你的迭代次数大约应 ≥ 5 * 1000 / 400 = 13。因此,你将随机抽取批次13次,以大约获得5个纪元。