【问题标题】:In what order do I train my CNN我按什么顺序训练我的 CNN
【发布时间】:2017-02-05 21:28:13
【问题描述】:

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

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

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

【问题讨论】:

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


【解决方案1】:

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

最简单的方法是随机打乱您的数据(在第一维中),然后按顺序生成批次。一个好的做法是在每个 epoch 之后重新排列你的数据,这样神经网络就不会按照样本呈现的顺序看到任何模式。

这种技术可以防止神经网络训练中出现任何类型的偏差。

【讨论】:

  • 哦,我不知道。每批都应该包含正负样本?神经网络如何知道哪个图像是正面的,哪个图像是负面的?我在哪里指定这个?
  • @RehaanAhmad 标签 (y) 告诉 NN 每个样本属于什么类别。
猜你喜欢
  • 2020-01-24
  • 2017-04-23
  • 2021-10-30
  • 1970-01-01
  • 2017-03-27
  • 2019-06-08
  • 2017-12-12
  • 1970-01-01
  • 2020-08-03
相关资源
最近更新 更多