Ranked in these QuestionsQuestion Ranking
Pro Runs on top of Theano, TensorFlow or CNTK
You can choose the back-end for Keras. Simply change the backend field to "theano", "tensorflow", or "cntk".
Theano was discontinued in 2017, so TensorFlow or CNTK would be the better choice.
Pro Simple to use
Pro Can be used to write really short pieces of code
Keras enforces minimalism as much as possible. Because of this, it's possible to write a small Neural Network in just a couple of lines of code.
Pro Really straightforward for someone who is familiar with deep learning
Pro Quite modular
When using Keras you don't have to pull every part of the framework on your project. For example, you can only use training algorithms and not layer implementations. So it works more like a collection of libraries.
Con Little customization compared to other frameworks
Keras is a high-level API. It's difficult to customize your model past a point. If you want to build something beyond the application-level, use Theano or TensorFlow. (Keras runs on top of either one of these anyways)