我按什么顺序训练我的 CNN
In what order do I train my CNN
我目前正在训练一个卷积神经网络来根据外观在烂苹果和正常苹果之间进行分类。我有所有必要的数据,但是我对以下代码行有疑问。
epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size)
这会为神经网络提供图像和标签。我的问题是,我应该用所有批次的正常橙子训练网络,然后用烂橙子训练神经网络吗?我应该交替训练腐烂的橙子和正常的橙子吗?这些图像应该按照特定的顺序进行训练吗?
你不应该以任何特定的顺序训练它,每批都应该包含正面和负面的例子,顺序是随机的。如果您的 类 是平衡的,那么每批将有大约相同数量的 positive/negative 个样本。
最简单的方法是随机打乱您的数据(在第一维中),然后按顺序生成批次。一个好的做法是在每个 epoch 之后重新调整数据,这样神经网络就看不到样本呈现顺序中的任何模式。
这种技术可以防止神经网络训练中出现任何类型的偏差。
我目前正在训练一个卷积神经网络来根据外观在烂苹果和正常苹果之间进行分类。我有所有必要的数据,但是我对以下代码行有疑问。
epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size)
这会为神经网络提供图像和标签。我的问题是,我应该用所有批次的正常橙子训练网络,然后用烂橙子训练神经网络吗?我应该交替训练腐烂的橙子和正常的橙子吗?这些图像应该按照特定的顺序进行训练吗?
你不应该以任何特定的顺序训练它,每批都应该包含正面和负面的例子,顺序是随机的。如果您的 类 是平衡的,那么每批将有大约相同数量的 positive/negative 个样本。
最简单的方法是随机打乱您的数据(在第一维中),然后按顺序生成批次。一个好的做法是在每个 epoch 之后重新调整数据,这样神经网络就看不到样本呈现顺序中的任何模式。
这种技术可以防止神经网络训练中出现任何类型的偏差。