【问题标题】:How can I use DataGenerator with my model training?如何在模型训练中使用 DataGenerator?
【发布时间】:2022-07-31 18:18:30
【问题描述】:

在 model.fit() 函数期间尝试将 DataGenerator 类与我的模型训练一起使用时遇到了一些麻烦。我使用 DataGenerator 的原因是为了帮助处理我的大量图像和标签以用于我的对象检测任务。

我的所有图像都分为训练集、测试集和验证集。我已将图像和标签转换为 numpy 数组,然后针对我的 RESNET50 模型进行了相应的预处理,效果很好。

val_images = np.array(val_images)
train_images = np.array(train_images)

但是,当我尝试对我的验证图像和训练图像使用 DataGenerator 函数时,它似乎不起作用。

training_generator = DataGenerator(train_images, train_targets)
validation_generator = DataGenerator(val_images, val_targets)

我尝试使用 model.fit() 函数,但它不起作用并最终显示错误。

resnet_model = model.fit_generator(
    training_generator,
    epochs=4,
    validation_data=validation_generator)

TypeError: expected str, bytes or os.PathLike object, not ndarray

完整的回溯: https://www.toptal.com/developers/hastebin/gusicucali.yaml

我不确定这是否是使用 DataGenerator 类的正确方法,因为我对它很陌生。我有 6000 多张带有相应标签 (xmin,ymin,ymax,xmax) 的图像。 我之所以尝试使用它,是因为我没有 GPU,因此可以帮助我的模型训练更有效率。

【问题讨论】:

    标签: python tensorflow pytorch computer-vision object-detection


    【解决方案1】:

    我认为您的目标应该是拥有与下面类似的代码。我用ImageDataGenerator。如果您查看文档,它可以让您选择许多参数来获得图像的数据增强。我只复制了一些。

    val_images = np.array(val_images)
    train_images = np.array(train_images) 
    
    dataGenerator = ImageDataGenerator(rotation_range=0, 
                                       zoom_range=0, 
                                       width_shift_range=0, 
                                       height_shift_range=0, 
                                       horizontal_flip=False, 
                                       fill_mode="nearest")
    # train
    model = model.fit_generator(dataGenerator.flow(train_images, train_targets, batch_size=BATCH_SIZE), 
                                validation_data=(val_images, val_targets),
                                steps_per_epoch=len(train_images), 
                                epochs=EPOCHS)
    

    这应该可行。另外我认为最近fit_generator 已被弃用,但您可以用fit 替换它而不进行任何更改。

    【讨论】:

      猜你喜欢
      • 2017-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多