Keras / ImageGenerator /拆分数据以训练和验证/ CNN

时间:2017-05-25 22:02:45

标签: image tensorflow keras

我对Keras CNN有疑问 是否可以使用相同的数据进行训练和验证?

如果我必须将它们分开,

如何将一个forder(有5个类)中的那些分开

我正在使用ImageGenerator和model.fit_generator进行训练..有分析数据的指示,但不适用于model.fit_generator .. thx

1 个答案:

答案 0 :(得分:0)

如果您的测试和训练数据集相同,那么您无法确定是否过度拟合。这是因为您的测试和训练准确性将是相同的。如果您不使用保持数据集进行验证,那么您对训练模型的普遍性几乎没有信心。

您的文件层次结构可以指示哪些图像将用于培训以及哪些图像将用于验证。 keras blog说明了这是如何完成的。查看用于定义训练和验证生成器的flow_from_directory()函数。

例如,如果我的文件层次结构如下:

$(this).closest('.dropdown').find('.dropdown-menu');

然后我可以定义以下生成器用于训练64x64图像属于5个类。

data
├── train
│   ├── class1
│   ├── class2
│   ├── class3
│   ├── class4
│   └── class5
└── validation
    ├── class1
    ├── class2
    ├── class3
    ├── class4
    └── class5