Python- 深度学习中的快速数据集扩充

Fast Dataset Augmentation in Python- Deep Learning

我正在从事一个需要数据扩充的项目。我想水平翻转图像并将其添加到训练数据数组中。问题是有超过 10,000 张图像。

这是用于手动翻转长度为 'size' 的数组 train_images 中每个图像(二维 numpy 数组)的代码。

for img in range(0, size):
  flip = np.flip(train_images[img], axis=1)
  np.append(train_images, flip)
  np.append(train_labels, train_labels[img])

这需要相当长的时间。是否有任何库函数或更快的方法来计算新图像并将它们添加到数组而不需要多线程?

提前感谢您的意见。

我使用 imgaug 库以系统的方式进行数据扩充。它非常有用,并且设计出色,以防您需要对同一图像进行多次增强。我确实有一点学习曲线,但非常值得。

在从事其他一些机器学习项目之后,我在 Keras 下发现了这个非常有用的工具,称为 ImageDataGenerator()。生成器可以应用各种级别的增强。

# instantiate data generator for horizontal flips
datagen = ImageDataGenerator(horizontal_flip=True)

这将对生成的图像随机应用翻转。请注意,由于我们使用的是生成器,因此我们不再调用 .fit() 来训练模型,而是调用 .fit_generator().