我正在使用CNN进行图像训练,之前我正在使用keras对训练数据集进行数据增强 .
我有一些关于数据扩充的问题:
-
变换是否依赖于
fit_generator()
中指定的纪元? -
是否有用于获取增强图像的最大历元数?
-
是否有最佳的纪元数,可以提供所有可能的输出增强数据?
-
应用于图像的变换是顺序还是随机 .
-
输出图像是否会在指定数量的历元后重复?如果是,那么这个数字是什么,如果没有,那么最好的数字是什么?例如,假设我有一个我使用rotation_range传递的图像为20.然后,我知道最初随机旋转将应用于rotation_range内的图像,并且两个后续图像将不相同 . 但我想知道是否有任何角度模式将应用于图像 . 并且在经过一些迭代后是否会重复相同的模式?
我在用
for images_iter, labels_iter in datagen.flow(image_dataset, Labels, batch_size=len(image_dataset), shuffle=False):
用于获取增强数据 .
其中, image_dataset 是 shape [1, 28, 28, 1] 的图像数据集, Labels 只是 0 .
1 回答
一个接一个地回答你的问题:
不,生成集合时,变换只计算一次 . 正如你所说,你在训练之前做的就是这样 .
不,有's no such thing as '用于获取增强图像的最大历元数 .
这取决于您的网络拓扑以及您要完成的任务 .
这应该按顺序排列,但您可以随时随机播放 .
编辑:
见:https://keras.io/preprocessing/image/