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

CNN训练调用model.fit()报batch_size重复赋值错误,应如何正确传参

错误原因分析
  • Keras框架中model.fit()的前三个位置参数依次为x(训练特征)、y(训练标签)、batch_size(批次大小),你将X_test作为第三个位置参数传入,相当于隐式给batch_size赋值为X_test,后续又显式声明了batch_size=6,因此触发重复传参的类型错误。
  • 额外注意:validation_split是从传入的训练集中自动按比例拆分验证集的参数,如果你已经手动拆分了独立的测试集作为验证数据,不需要再设置该参数,二者选其一即可。
正确传参写法

方案1:用手动拆分的25%测试集作为验证集

需要将测试集的特征和标签打包为元组,传入validation_data参数:

results = model.fit(
    X_train, 
    Y_train, 
    validation_data=(X_test, Y_test),
    batch_size=6, 
    epochs=5, 
    callbacks=callbacks
)

方案2:从训练集拆分10%作为验证集,测试集留作最终效果评估

results = model.fit(
    X_train, 
    Y_train, 
    validation_split=0.1, 
    batch_size=6, 
    epochs=5, 
    callbacks=callbacks
)
# 训练完成后单独调用评估方法测试泛化效果
test_loss, test_acc = model.evaluate(X_test, Y_test)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:15:04