In contrast to what people who already familiar with Keras usually think, Keras is not a high-level wrapper around a machine learning framework (TensorFlow, CNTK, or Theano); instead, it is an API specification that's used for defining and training machine learning models.
TensorFlow implements the specification in its tf.keras module. In particular, TensorFlow 2.0 itself is an implementation of the specification and as such, many first-level submodules are nothing but aliases of the tf.keras submodules; for example, tf.metrics = tf.keras.metrics and tf.optimizers = tf.keras.optimizers.
TensorFlow 2.0 has, by far, the most complete implementation of the specification, making it the framework of choice for the vast majority of machine learning researchers. Any Keras API implementation allows you to build and train deep learning models. It...