1. ホーム
  2. keras

keras モデル学習エラー。AttributeError: 'list' オブジェクトには 'set_model' という属性がありません。

2022-02-09 04:03:09
<パス

エラーメッセージです。
AttributeError: 'list' オブジェクトには '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)
 
 These two callback functions are defined as follows: callbacks, checkpoint.

 http_client = Server(jsonrpcMlClientPoint)
# Training visualization, return 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)


トラブルシューティングの後、最初のコールバックの定義を包んでいる括弧を削除するだけです。
これは、以前のコードではコールバック関数が1つしかなかったため、定義の外側で直接リストが渡されたからです。
その理由は、callbcksの引数自体がリストのリストであるためです。