From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Keras Logo.jpg
Original author(s)François Chollet
Initial release27 March 2015; 4 years ago (2015-03-27)
Stable release
2.2.4 / 3 October 2018; 6 months ago (2018-10-03)
Repository Edit this at Wikidata
Written inPython
TypeNeural Networks

Keras is an open-source neural-network library written in Python. It is capable of running on top of TensorFlow, Microsoft Cognitive Toolkit, Theano, or PlaidML.[1][2] Designed to enable fast experimentation with deep neural networks, it focuses on being user-friendly, modular, and extensible. It was developed as part of the research effort of project ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System),[3] and its primary author and maintainer is François Chollet, a Google engineer. Chollet also is the author of the XCeption deep neural network model[4].

In 2017, Google's TensorFlow team decided to support Keras in TensorFlow's core library.[5] Chollet explained that Keras was conceived to be an interface rather than a standalone machine-learning framework. It offers a higher-level, more intuitive set of abstractions that make it easy to develop deep learning models regardless of the computational backend used.[6] Microsoft added a CNTK backend to Keras as well, available as of CNTK v2.0.[7][8]


Keras contains numerous implementations of commonly used neural-network building blocks such as layers, objectives, activation functions, optimizers, and a host of tools to make working with image and text data easier. The code is hosted on GitHub, and community support forums include the GitHub issues page, and a Slack channel.

In addition to standard neural networks, Keras has support for convolutional and recurrent neural networks. It supports other common utility layers like dropout, batch normalization, and pooling.[9]

Keras allows users to productize deep models on smartphones (iOS and Android), on the web, or on the Java Virtual Machine.[10] It also allows use of distributed training of deep-learning models on clusters of Graphics Processing Units (GPU) and Tensor processing units (TPU).[11]


Keras claims over 200,000 users as of November 2017.[10] Keras was the 10th most cited tool in the KD Nuggets 2018 software poll and registered a 22% usage.[12]

See also[edit]


  1. ^ "Keras backends". Retrieved 2018-02-23.
  2. ^ "Why use Keras?". Retrieved 2019-01-18.
  3. ^ "Keras Documentation". Retrieved 2016-09-18.
  4. ^ Chollet, François (2016). "Xception: Deep Learning with Depthwise Separable Convolutions". arXiv:1610.02357.
  5. ^ "Module: tf.keras  |  TensorFlow". TensorFlow. Retrieved 2018-11-14.
  6. ^ Chollet GitHub Comment
  7. ^ CNTK Keras GitHub Issue
  8. ^ alexeyo. "CNTK_2_0_Release_Notes". Retrieved 2017-06-14.
  9. ^ "Core - Keras Documentation". Retrieved 2018-11-14.
  10. ^ a b "Why use Keras?". Retrieved 2018-02-23.
  11. ^ "Using TPUs  |  TensorFlow". TensorFlow. Retrieved 2018-11-14.
  12. ^ Piatetsky, Gregory. "Python eats away at R: Top Software for Analytics, Data Science, Machine Learning in 2018: Trends and Analysis". KDnuggets. KDnuggets. Retrieved 30 May 2018.

Further reading[edit]

External links[edit]