0

问题 1

rotation_range: Int. Degree range for random rotations指范围 [0, rotation_range] 还是 [-rotation_range, rotation_range]。如果我设置rotation_range=40,我的图像会在 [-40, 40] 或 [0, 40] 之间随机旋转吗?

问题2

是否ImageDataStore.flow在每个时期随机生成输入图像的不同增强,或者是在开始时生成并用于所有时期的单个增强。

例如,假设我有一些图像A,它是我对该方法的输入的一部分flow。图像A是否在训练前仅增强一次,并且此增强版本用于所有 epoch?还是图像A 在每个时期都随机增加?

问题 3

当参数在方法shuffle中设置为时,这是否意味着批次在每个时期都被打乱,或者批次中的图像在每个时期都被打乱?Trueflow

例如,假设我们的训练数据由 15 张图像(标记为 I 1 - I 15)组成,在 epoch 1 开始之前分为 3 个批次/小批次(标记为 B 1、B 2、B 3)。

假设在 epoch 1 之前,图像被分配到批次如下:

  • B 1 = {我1 , 我2 , 我3 , 我4 , 我5 }
  • B 2 = {我6 , 我7 , 我8 , 我9 , 我10 }
  • B 3 = {我11 , 我12 , 我13 , 我14 , 我15 }

现在在 epoch 1 中,批次按 B 1、 B 2、 B 3的顺序进行训练。

当 epoch 2 开始时,B 1、 B 2、 B 3中的图像是否会被打乱,以便每批不会包含相同的 5 张图像集?

4

1 回答 1

1

问题1 旋转范围为[-rotation_range,rotation_range]。save_to_dir我建议您使用方法中的参数检查您的增强图像flow。通过这种方式,您可以确保图像正在按照您的预期进行增强。

问题 2 调用next时,根据您提供给ImageDataGenerator. 即,一个图像可以在一个时期左旋转,而在下一个时期,同一图像可以右旋转。这就是使增强如此高效的原因——您人为地增加了数据的大小。

问题 3 图像列表在每个 epoch 之前被打乱。一批图像永远不会重复(嗯……你可以计算几率)

于 2018-07-24T09:12:58.597 回答