Puede usar cualquier función métrica que haya especificado al compilar el modelo.
Digamos que tiene la siguiente función métrica:
def my_metric(y_true, y_pred):
return some_metric_computation(y_true, y_pred)
El único requisito para esta función es que toma acepta la verdadera y la y predicha.
Cuando compila el modelo, especifica esta métrica, de forma similar a cómo especifica la compilación en métricas como 'precisión':
model.compile(metrics=['accuracy', my_metric], ...)
Tenga en cuenta que estamos utilizando el nombre de la función my_metric sin '' (en contraste con la 'precisión' incorporada).
Luego, si define su EarlyStopping, simplemente use el nombre de la función (esta vez con ''):
EarlyStopping(monitor='my_metric', mode='min')
Asegúrese de especificar el modo (min si más bajo es mejor, max si más alto es mejor).
Puede usarlo como cualquier métrica integrada. Esto probablemente también funcione con otras devoluciones de llamada como ModelCheckpoint (pero no lo he probado). Internamente, Keras simplemente agrega la nueva métrica a la lista de métricas disponibles para este modelo utilizando el nombre de la función.
Si especifica datos para la validación en su model.fit (...), también puede usarlos para EarlyStopping usando 'val_my_metric'.