Предлагаемое здесь решение не решило мою проблему этот вопрос .
Я пытаюсь использовать обратные вызовы ModelCheckpoint
и EarlyStopping, чтобы сохранить лучшие веса при ранней остановке. После первой эпохи я получаю предупреждение о времени выполнения, но коды запускают оставшиеся эпохи без ошибок, но по-прежнему не появляется файл, содержащий вес. Предупреждение после первой эпохи следующее:
RuntimeWarning: может сохранить лучшую модель только при наличии val_acc, пропуская. 'пропуская.'% (self.monitor), RuntimeWarning) RuntimeWarning: ранняя остановка обусловлена метрикой val_acc
, которая недоступна. Доступны следующие метрики: val_loss, val_accuracy, потеря, точность (self.monitor, ','. Join (список (logs.keys ()))), RuntimeWarning
У меня есть данные проверки, добавленные вfit()
функция, поэтому я не уверен почему.
filepath = "weights_best.hdf5"
model.compile(loss="mean_squared_error",
metrics=['accuracy'],
optimizer=optimizer)
batchSize = 64
numEpochs = 75
validation_data = (data.x_valid, data.y_valid)
callbackCheckpoint = keras.callbacks.callbacks.ModelCheckpoint(filepath,
monitor='val_acc',
save_best_only=True,
save_weights_only= True,
mode='max')
callbackEarlyStop = keras.callbacks.callbacks.EarlyStopping(monitor='val_acc',
min_delta=0,
patience=7,
verbose=0,
mode='auto')
callbacks = [callbackCheckpoint, callbackEarlyStop]
model.fit(data.x_train, data.y_train, batchSize, numEpochs, callbacks=callbacks,
validation_data=validation_data)
Любая помощь будет принята с благодарностью!