I have been developing a machine learning model in Tensorflow 2.0, but because I need to have some custom functionality I am taking a more manual approach instead of full Keras API e.g. see https://www.tensorflow.org/tutorials/quickstart/advanced . One thing that was not clear to me was what algorithm does Keras use when you pass in the option metric=['acc'] to model.compile(). It turns out Keras does clever things and works out the appropriate metric based on your data. If you do not want blackbox approach, then pick appropriate metric from this list.