# How to figure out what metrics I can monitor while setting Keras Callbacks?

I am trying to figure out whether I have a host of metrics available to monitor out of the box while writing callbacks such as

ModelCheckpoint(monitor='val_loss')

or

ModelCheckpoint(monitor='val_accuracy')


or whether the metrics i can monitor only depend on what i initialize in the compile method,

model.compile(metrics=['val_accuracy', 'val_loss'])

vs

model.compile(metrics=['val_loss'])

or

model.compile(metrics=['loss'])


Question: Does initializing the callback come with a host of metrics i can monitor out of the box or do I have to manually set the metrics in the model compilation step, which constrains me to only those that I wrote?

Side Question: How can I find out the whole host of metrics I can type in whether it is in the compile method or not.. because I can't seem to find a source that tells me.

• Check the tensorflow documentation for more information on the different values you can give for the monitor argument, specifically the point on the history.history dictionary. – Oxbowerce Jan 9 at 22:15
• @Oxbowerce I'm not sure I understand why you can only see the metrics after you fit the data. I mean it's a bit counter intuitive. I would want to set the metrics to monitor before i fit the data. – Kamal Raydan Jan 10 at 4:51
• That is not the only way to doing it, as metioned in the docs you can also pass in (custom) metrics.Metric objects. Here is the list of all tensorflow metrics. – Oxbowerce Jan 10 at 11:54