You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CNN数据集批量大小非整除问题的处理方案问询

CNN训练中样本数与批量大小非整除的报错问题及解决方案探讨

数据集与参数设置

  • 训练图像:5360张

  • 验证图像:1151张

  • 测试图像:1147张

  • Epochs:20

  • Batch size:16

问题背景

当前计算每轮步骤数的代码如下:

nb_train_steps = np.ceil(train_data_gen.samples / batch_size).astype(int)
nb_validation_steps = np.ceil(valid_data_gen.samples / batch_size).astype(int)
nb_test_steps = np.ceil(test_data_gen.samples / batch_size).astype(int)

训练时出现OUT_OF_RANGE及AttributeError报错,核心原因是验证集(1151/16=71.9375)和测试集的样本数无法被批量大小整除,向上取整后程序会尝试读取不存在的额外样本。由于不想删除数据,了解到.repeat()函数但不确定其对模型过拟合的影响,特提出以下问题:

问题列表

  1. 如何在不删除数据的情况下解决该问题?
  2. 使用.repeat()函数对模型有何影响,尤其是过拟合方面?
  3. 是否有更优的解决方法?

使用环境:TensorFlow 2.17.0,Keras 3.4.1


内容的提问来源于stack exchange,提问作者antekkalafior

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:55:58