Уже многое есть о сохранении моделей, но я изо всех сил пытаюсь понять, как я могу сохранить свою модель только тогда, когда она улучшит val_accuracy
. Моя модель выглядит так:
model = keras.Sequential([
keras.layers.Embedding(numberOfWords,
embedding_vector_length, input_length=1000),
keras.layers.LSTM(128),
keras.layers.Dropout(0.3),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dropout(0.3),
keras.layers.Dense(64, activation='relu'),
keras.layers.Dropout(0.3),
keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer=tf.keras.optimizers.Adam(lr=1e-3, decay=1e-5), loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=200, batch_size=32,
validation_data=(x_test, y_test))
Во время обучения я хочу сохранить модель после первой эпохи. Затем, после каждой эпохи, если val_accuracy
улучшается, я хочу перезаписать старую модель новой.
Как мне это сделать?