我以什么顺序训练我的CNN

时间:2017-02-05 04:34:56

标签: python machine-learning neural-network conv-neural-network image-recognition

我目前正在训练卷积神经网络,根据外观对腐烂的苹果和普通苹果进行分类。我有所有必要的数据,但我对以下代码行有疑问。

epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size)

这为神经网络提供了图像和标签。我的问题是,我应该用所有批次的正常橙子训练网络,然后用腐烂的橙子训练神经网络吗?我是否应该轮流训练一批腐烂和正常的橘子?是否应该训练这些图像的特定顺序?

1 个答案:

答案 0 :(得分:6)

您不应该以任何特定的顺序训练它,每个批次应该包含正面和负面的例子,以随机的顺序。如果您的课程是平衡的,那么每个批次将具有大致相同数量的阳性/阴性样本。

最简单的方法是随机播放数据(在第一维中),然后按顺序生成批次。一个好的做法也是在每个时期之后重新洗牌你的数据,所以神经网络没有看到样本呈现顺序的任何模式。

这种技术可以防止神经网络训练中的任何偏见。