keras模型训练报错: AttributeError: 'list' object has no attribute 'set_model'

错误信息:
AttributeError: ‘list’ object has no attribute ‘set_model’
根据错误提示:错误代码位于如下

model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs,
                    callbacks=[checkpoint,callbacks],
                    validation_data=(X_valid, y_valid), verbose=1)
 
 这两个回调函数的定义分别如下:callbacks, checkpoint。

 http_client = Server(jsonrpcMlClientPoint)
# 训练可视化,返回val_acc, val_loss, train_acc, train_loss
callbacks = [TrainingMonitor(http_client=http_client, model_id=modelId, model_userid=model_userid,
                             model_version=model_version, ams_id=ams_id)]

# checkpoint
if not os.path.exists(save_dir):
    os.makedirs(save_dir)
namepath = "trained_best_weights.h5"
filepath = os.path.join(save_dir, namepath)
print('current file path is : ', filepath)
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True,
                             save_weights_only=False, mode='auto', period=1)

经过排查,去掉第一个callbacks 定义时包裹在外边的中括号就行了。
这是由于之前的代码里只有一个回调函数,所以直接在外边定义了一个list传入。
原因是callbcks的参数本身就是一个list列表。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值