Why use Keras?
- Keras is an API designed for human beings, not machines. : it offers consistent & simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear and actionable feedback upon user error.
- This makes Keras easy to learn and easy to use. As a Keras user, you are more productive, allowing you to try more ideas than your competition, faster — which in turn helps you win machine learning competitions.
Keras has broad adoption in the industry and the research community
Deep learning frameworks ranking computed by Jeff Hale, based on 11 data sources across 7 categories
With over 250,000 individual users as of mid-2018, Keras has stronger adoption in both the industry and the research community than any other deep learning framework except TensorFlow itself (and the Keras API is the official frontend of TensorFlow, via the module).
Keras is also a favorite among deep learning researchers, coming in #2 in terms of mentions in scientific papers uploaded to the preprint server arXiv.org. Keras has also been adopted by researchers at large scientific organizations, in particular CERN and NASA.
Your Keras models can be easily deployed across a greater range of platforms than any other deep learning framework:
- On iOS, via (Keras support officially provided by Apple). Here's a tutorial.
- On Android, via the TensorFlow Android runtime. Example: .
- In the browser, via GPU-accelerated JavaScript runtimes such as Keras.js and .
- On Google Cloud, via TensorFlow-Serving.
- .
- On the JVM, via DL4J model import provided by SkyMind.
- On Raspberry Pi.
Keras supports multiple backend engines and does not lock you into one ecosystem
Your Keras models can be developed with a range of different . Importantly, any Keras model that only leverages built-in layers will be portable across all these backends: you can train a model with one backend, and load it with another (e.g. for deployment). Available backends include:
- The TensorFlow backend (from Google)
- The Theano backend
As such, your Keras model can be trained on a number of different hardware platforms beyond CPUs:
- NVIDIA GPUs
- , via the TensorFlow backend and Google Cloud
- OpenCL-enabled GPUs, such as those from AMD, via the PlaidML Keras backend
- Keras has
- Horovod, from Uber, has first-class support for Keras models
- Keras models and trained on clusters of GPUs on Google Cloud
- Keras can be run on Spark via (from CERN) and Elephas
Keras development is backed by key companies in the deep learning ecosystem
Keras development is backed primarily by Google, and the Keras API comes packaged in TensorFlow as . Additionally, Microsoft maintains the CNTK Keras backend. Amazon AWS is maintaining the Keras fork with MXNet support. Other contributing companies include NVIDIA, Uber, and Apple (with CoreML).