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.3.1[1] / 7 October 2019; 2 months ago (2019-10-07)
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, R, Theano, or PlaidML.[2][3] 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),[4] 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.[5]

In 2017, Google's TensorFlow team decided to support Keras in TensorFlow's core library.[6] 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.[7] Microsoft added a CNTK backend to Keras as well, available as of CNTK v2.0.[8][9]


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 to simplify the coding necessary for writing Deep Neural Network code. 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.[10]

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


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

See also[edit]


  1. ^ GitHub release[1], retrieved 2019-12-09
  2. ^ "Keras backends". Retrieved 2018-02-23.
  3. ^ "Why use Keras?". Retrieved 2019-01-18.
  4. ^ "Keras Documentation". Retrieved 2016-09-18.
  5. ^ Chollet, François (2016). "Xception: Deep Learning with Depthwise Separable Convolutions". arXiv:1610.02357.
  6. ^ "Module: tf.keras  |  TensorFlow". TensorFlow. Retrieved 2018-11-14.
  7. ^ Chollet GitHub Comment
  8. ^ CNTK Keras GitHub Issue
  9. ^ alexeyo. "CNTK_2_0_Release_Notes". Retrieved 2017-06-14.
  10. ^ "Core - Keras Documentation". Retrieved 2018-11-14.
  11. ^ a b "Why use Keras?". Retrieved 2018-02-23.
  12. ^ "Using TPUs  |  TensorFlow". TensorFlow. Retrieved 2018-11-14.
  13. ^ 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]