Keras

Last updated
Keras
Original author(s) François Chollet
Developer(s) ONEIROS
Initial release27 March 2015;10 years ago (2015-03-27)
Stable release
3.9.0 [1] / 4 March 2025;43 days ago (4 March 2025)
Repository
Written in Python
Platform Cross-platform
Type Frontend for TensorFlow, JAX or PyTorch (and more)
License Apache 2.0
Website keras.io   OOjs UI icon edit-ltr-progressive.svg

Keras is an open-source library that provides a Python interface for artificial neural networks. Keras was first independent software, then integrated into the TensorFlow library, and later supporting more. "Keras 3 is a full rewrite of Keras [and can be used] as a low-level cross-framework language to develop custom components such as layers, models, or metrics that can be used in native workflows in JAX, TensorFlow, or PyTorch — with one codebase." [2] Keras 3 will be the default Keras version for TensorFlow 2.16 onwards, but Keras 2 can still be used. [3]

Contents

History

The name 'Keras' derives from the Ancient Greek word κέρας (Keras) meaning 'horn'. [4]

Designed to enable fast experimentation with deep neural networks, Keras 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, who was a Google engineer until leaving the company in 2024. [6] Chollet is also the author of the Xception deep neural network model. [7]

Up until version 2.3, Keras supported multiple backends, including TensorFlow, Microsoft Cognitive Toolkit, Theano, and PlaidML. [8] [9] [10]

From version 2.4 up until version 3.0, only TensorFlow was supported. Starting with version 3.0 (as well as its preview version, Keras Core), however, Keras has become multi-backend again, supporting TensorFlow, JAX, and PyTorch. [11] It now also supports OpenVINO!.

Features

Keras contains numerous implementations of commonly used neural-network building blocks such as layers, objectives, activation functions, optimizers, and a host of tools for working with image and text data to simplify programming in deep neural network area. [12] The code is hosted on GitHub, and community support forums include the GitHub issues page. [13]

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

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

See also

References

  1. "Release 3.9.0". 4 March 2025. Retrieved 25 March 2025.
  2. "Keras: Deep Learning for humans". keras.io. Retrieved 2024-04-30.
  3. "What's new in TensorFlow 2.16" . Retrieved 2024-04-30.
  4. Team, Keras. "Keras documentation: About Keras 3". keras.io. Retrieved 2024-02-10.
  5. "Keras Documentation". keras.io. Retrieved 2016-09-18.
  6. "Farewell and thank you for the continued partnership, Francois Chollet!". Google Developers Blog. Retrieved 2025-03-19.
  7. Chollet, François (2016). "Xception: Deep Learning with Depthwise Separable Convolutions". arXiv: 1610.02357 [cs.CV].
  8. "Keras backends". keras.io. Retrieved 2018-02-23.
  9. 1 2 "Why use Keras?". keras.io. Retrieved 2020-03-22.
  10. "R interface to Keras". keras.rstudio.com. Retrieved 2020-03-22.
  11. Chollet, François; Usui, Lauren (2023). "Introducing Keras Core: Keras for TensorFlow, JAX, and PyTorch". Keras.io. Retrieved 2023-07-11.
  12. Ciaramella, Alberto; Ciaramella, Marco (2024). Introduction to Artificial Intelligence: from data analysis to generative AI. Intellisemantic Editions. ISBN   9788894787603.
  13. "Keras-team/Keras". GitHub .
  14. "Core - Keras Documentation". keras.io. Retrieved 2018-11-14.
  15. "Using TPUs | TensorFlow". TensorFlow. Archived from the original on 2019-06-04. Retrieved 2018-11-14.