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

Python调用predict()触发AttributeError:tuple对象无predict属性

解决方案:AttributeError: 'tuple' object has no attribute 'predict'

错误原因

你的train_model函数返回的是元组(nn_model, history),但你把这个元组直接赋值给了least_loss_model变量。当你调用least_loss_model.predict()时,实际是在对元组对象调用方法,而元组并没有predict属性,因此触发报错。你之前尝试predict_proba也无效,是因为操作对象本身就不是Keras模型。

修复步骤

  1. 解包返回的元组:接收train_model的返回值时,分别获取模型和训练历史两个对象:
    least_loss_model, training_history = train_model(x_train, y_train, 0.2, 0.005, 128, 100)
    
  2. 正常调用预测方法:此时least_loss_model是正确的Keras模型实例,直接调用predict即可:
    predicted = least_loss_model.predict(x_test)
    print(predicted)
    

补充说明

你的模型最后一层用了sigmoid激活,predict方法已经会返回二分类的概率值,不需要额外使用predict_proba(Keras中部分模型才有这个方法,你的Sequential模型直接用predict就足够)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:40:55