gpt4 book ai didi

python - 在 Keras 中使用 imagedatagenerator 添加更多训练数据集

转载 作者:行者123 更新时间:2023-12-04 04:09:57 25 4
gpt4 key购买 nike

我有汽车图像,我的目标是扩展我的训练数据集,我想结合新生成的图像和原始图像,并基于它们训练深度神经网络来执行分类任务。

来自这篇博文: https://www.pyimagesearch.com/2019/07/08/keras-imagedatagenerator-and-data-augmentation/

“Keras ImageDataGenerator 类不是“加法”操作。它不是获取原始数据,随机转换它,然后返回原始数据和转换后的数据。”

您建议使用什么方法来扩展数据集?

最佳答案

尽管 Keras ImageDataGenerator 不是您所说的加法运算,但如果您想在增强图像上训练模型,它仍然可以帮助您。 ImageDataGenerator 的工作原理如下:您指定图像的目录和扩充参数,然后在训练的每个时期,gererator 都会拍摄图像并对其进行转换。因此,这意味着如果您总共有 300 张图像,使用 ImageDataGenerator,您将在每个时期获得 300 张不同的转换图像。

如果这不是您想要的方式,您可以尝试另一种方法。使用 OpenCV 库读取图像并通过缩放、剪切等一些变换将其副本保存到一个目录中。通过这种方式,您可以根据需要在每个时期制作尽可能多的图像。当你制作它们时,使用不带任何参数的 ImageDataGenerator。这里有一个问题——图像总是一样的。在第一种情况下,每个时期的图像都应该不同。

要保存新的增强图像,您可以使用:

from tensorflow.keras.preprocessing.image import ImageDataGenerator
from PIL import Image
import numpy as np

image = Image.open('asd.png')
image = np.array(image)
image = np.expand_dims(image, 0)

data_generator = ImageDataGenerator(
rotation_range=30,
)
for _, _ in zip(data_generator.flow(
image,
save_to_dir=<DIR_NAME>,
save_prefix=<PREFIX>,
save_format='png'
), range(N)):
pass

N 是您要使用 1 个基本图像创建的增强图像的数量

关于python - 在 Keras 中使用 imagedatagenerator 添加更多训练数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61893101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com