Keras is a minimalist Python library for DL that can run on top of TensorFlow, CNTK, Theano, beta version with MXNet and announced Deeplearning4j [Keras]. It was developed with a focus on enabling fast experimentation and is released under the MIT license. Keras runs on Python 2.7 or 3.5 and can seamlessly execute on GPUs and CPUs given the underlying frameworks.
Keras is developed and maintained by Francois Chollet, a Google engineer using four guiding principles:
1. User friendliness and minimalism. Keras is an API designed for human beings with user experience front and center. Keras follows best practices for reducing cognitive load by offering consistent and simple APIs.
2. Modularity. A model is understood as a sequence or a graph of standalone, fullyconfigurable modules that can be plugged together with as little restrictions as possible. In particular, neural layers, cost functions, optimizers, initialization schemes, activation functions, regularization schemes are all standalone modules to combine and to create new models.
3. Easy extensibility. New modules are simple to add, and existing modules provide ample examples allowing to reduce expressiveness.
4. Work with Python. Models are described in Python code, which is compact, easy to debug, and allows easy extensibility.
Strong points
Weak points