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

seq2seq构建聊天机器人训练时报ListWrapper无minimize属性错误如何解决

问题解决方法

错误根因

报错是model.compile()方法的optimizer参数配置错误导致的:你给optimizer参数传入了列表['adam'],但单输出模型的optimizer参数只能接收单个优化器名称字符串或优化器实例,不能用列表包裹。列表类型的optimizer参数仅用于多输出模型配置多套优化器的场景,你这里传列表会导致框架将优化器封装为ListWrapper对象,该对象不存在训练需要调用的minimize方法,最终触发属性缺失报错。

修复方案

将model.compile行的optimizer=['adam']修改为optimizer='adam'即可解决当前报错,修改后的代码片段如下:

model.compile(loss = 'categorical_crossentropy',metrics=['acc'],optimizer='adam')

如果需要自定义优化器的学习率、梯度裁剪等参数,也可以传入优化器实例,示例如下:

from tensorflow.keras.optimizers import Adam
# 按需调整学习率等参数
custom_adam = Adam(learning_rate=0.002, clipnorm=1.0)
model.compile(loss = 'categorical_crossentropy',metrics=['acc'],optimizer=custom_adam)

额外注意事项

你代码中定义的编码器输入变量名为enc_input、解码器输入变量名为dec_input,但调用model.fit()时传入的是encoder_input和decoder_input,要注意变量名保持一致,否则后续还会触发变量未定义的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:06:03