From Wikipedia, the free encyclopedia
Original author(s)François Chollet
Initial release27 March 2015; 8 years ago (2015-03-27)
Stable release
2.12.0[1] / 21 March 2023; 2 months ago (21 March 2023)
Written inPython
TypeNeural networks
LicenseApache 2.0 Edit this on Wikidata

Keras is an open-source software library that provides a Python interface for artificial neural networks. Keras acts as an interface for the TensorFlow library.

Up until version 2.3, Keras supported multiple backends, including TensorFlow, Microsoft Cognitive Toolkit, Theano, and PlaidML.[2][3][4] As of version 2.4, only TensorFlow is supported. 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),[5] and its primary author and maintainer is François Chollet, a Google engineer. Chollet is also the author of the Xception deep neural network model.[6]


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.[7]

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

See also[edit]


  1. ^ "Release 2.12.0". 21 March 2023. Retrieved 4 April 2023.
  2. ^ "Keras backends". Retrieved 2018-02-23.
  3. ^ a b "Why use Keras?". Retrieved 2020-03-22.
  4. ^ "R interface to Keras". Retrieved 2020-03-22.
  5. ^ "Keras Documentation". Retrieved 2016-09-18.
  6. ^ Chollet, François (2016). "Xception: Deep Learning with Depthwise Separable Convolutions". arXiv:1610.02357.
  7. ^ "Core - Keras Documentation". Retrieved 2018-11-14.
  8. ^ "Using TPUs | TensorFlow". TensorFlow. Archived from the original on 2019-06-04. Retrieved 2018-11-14.

External links[edit]