是否有针对整个数据集的图像数据增强的 python 代码?
Is there a python code for image data augmentation for the whole data set?
我正在研究 CNN(卷积神经网络)图像分类问题。我有一个包含 1000 张图像的数据集,这些图像不足以适合我设计的模型,我想在训练 CNN 之前增加图像的数量。如何使用 python.
扩充我的数据集
这是tensorflow中的built-in。查看 tf.image
的文档
例如,您可以通过 tf.Dataset.map
使用以下功能:
tf.image.random_flip_up_down
tf.image.random_flip_left_right
tf.image.random_contrast
tf.image.random_brightness
可以使用keras的ImageDataGenerator
class。这个 class 有很多有趣的功能来生成增强图像数据集。此 class 也可用于扩充文件夹中的数据集。
例如
generator = ImageDataGenerator(
rotation_range=20,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True)
有关 ImageDataGenerator
class 的更多信息已找到 here。
现在您可以将此生成器与您的 keras 模型一起使用,如下所示
model.fit_generator(generator.flow(x_train, y_train, batch_size= ... ),
steps_per_epoch= .... , epochs= ... )
要从文件夹生成增强数据集,请使用 class 的 flow_from_directory
方法。
model.fit_generator(generator.flow_from_directory(directory, target_size=(64, 64), batch_size= ...),steps_per_epoch= .... , epochs= ... )
我正在研究 CNN(卷积神经网络)图像分类问题。我有一个包含 1000 张图像的数据集,这些图像不足以适合我设计的模型,我想在训练 CNN 之前增加图像的数量。如何使用 python.
扩充我的数据集这是tensorflow中的built-in。查看 tf.image
的文档例如,您可以通过 tf.Dataset.map
使用以下功能:
tf.image.random_flip_up_down
tf.image.random_flip_left_right
tf.image.random_contrast
tf.image.random_brightness
可以使用keras的ImageDataGenerator
class。这个 class 有很多有趣的功能来生成增强图像数据集。此 class 也可用于扩充文件夹中的数据集。
例如
generator = ImageDataGenerator(
rotation_range=20,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True)
有关 ImageDataGenerator
class 的更多信息已找到 here。
现在您可以将此生成器与您的 keras 模型一起使用,如下所示
model.fit_generator(generator.flow(x_train, y_train, batch_size= ... ),
steps_per_epoch= .... , epochs= ... )
要从文件夹生成增强数据集,请使用 class 的 flow_from_directory
方法。
model.fit_generator(generator.flow_from_directory(directory, target_size=(64, 64), batch_size= ...),steps_per_epoch= .... , epochs= ... )