【问题标题】:Tensorflow 2.0 small image dataset warningTensorFlow 2.0 小图像数据集警告
【发布时间】:2020-02-09 01:23:37
【问题描述】:



我正在使用 TensorFlow 2.0 学习图像分类,在实现它时我收到以下警告:

tensorflow:你的输入数据用完了;中断训练。确保您的数据集或生成器至少可以生成 steps_per_epoch * epochs 批次(在本例中为 11280 批次)。在构建数据集时,您可能需要使用 repeat() 函数。

以下是数据集大小和模型数据:

total training mango images : 752
total validation mango images : 288

history = model.fit_generator(train_generator,
                              validation_data=validation_generator,
                              steps_per_epoch=752,
                              epochs=15,
                              validation_steps=288)

我还使用了图像增强技术来提高模型效率。但是,警告会中断训练并且模型仍然过拟合。

Here is the link to my full model in github

请帮帮我!

提前谢谢你

【问题讨论】:

    标签: image tensorflow2.0 tensorflow-datasets


    【解决方案1】:

    假设您在第 24 步得到错误并且 batch_size 是 32,我想问题是您的第 24 批只有 16 张图像。您可以删除这些图像,以便您的数据集与 32 的批量大小对齐,或将 batch_size 更改为 16。

    顺便说一句,我怀疑您使用 steps_per_epochvalidation_steps 错误 - “步骤”是指批次数,而不是样本数。仅供参考

    【讨论】:

    • 抱歉,如果我的回答不完全清楚 - 您能否将 steps_per_epochvalidation_steps 设置为您实际拥有的批次数量? IE。 47 个用于训练,18 个用于验证?
    • 谢谢!我尝试了不同的尺寸组合并且效果很好,但它仍然过拟合模型..
    • 恐怕你没有足够的数据。但是,您可以尝试在 tf.keras.applications 预训练模型之一上执行迁移学习,ResNet50V2 是一个很好的起点。
    • 当然。谢谢你:)
    • 如果可能的话,您能否分享一些关于如何根据数据集大小设置所有这些参数的好参考?这将是一个很大的帮助。
    猜你喜欢
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 2020-07-31
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 2022-12-23
    相关资源
    最近更新 更多