Hi @SiD,
a+b: The :02d and :.2f are special pieces of code that indicate how to format those values as strings when interpolating them into the file name. In other words, when saving the model to an HDF5 files, the epoch value should be presented as an integer (d) and padded with a zero if less than 2 digits (02). For val_loss, it is a float/numeric (f) value, and should have 2 decimal precision (.2).
As an example, for epoch 5 and val_loss of 1.23456, the file would be named:
weights.05-1.23.hdf5
c: I believe the . between weights and epoch is literal. So literally put a . between these words in the file name. The . after : are part of the special formatting syntax described above.
You can learn a lot more about this type of special string formatting by checking out the help documentation for ?sprintf (see Details section). Hope this was helpful.
sprintf("%02d", 5) # Epoch 5
#> [1] "05"
sprintf("%.2f", 1.23456) # Loss of 1.23456
#> [1] "1.23"