Keras is a library that works with models. It provides the building blocks for developing complex deep learning models. Unlike independent frameworks, this open source software does not deal with simple low-level operations itself. Instead, it uses the libraries from associated machine learning frameworks for this purpose. These act as a kind of back-end engine for Keras. Since the idea is to be modular, the desired layers for the neural network being developed are connected to each other without the actual backend of the selected framework needing to be understood or controlled by the Keras user.
As previously mentioned, Keras uses the three tools TensorFlow, Theano, and Microsoft Cognitive Toolkit. These have ready-to-use interfaces which enable fast intuitive access to the respective backend. There is no need to decide on a single framework because you can easily switch between the different backends. It is also possible to choose a different backend from the three solutions named here. You just need to specify it in the configuration file (Keras.json),and it has to have the following three functions available: “placeholder”, “variable” and “function”.