Keras Explained

Keras
Logo Size:180px
Author:François Chollet
Developer:ONEIROS
Programming Language:Python
Platform:Cross-platform
Genre:Frontend for TensorFlow, JAX or PyTorch (and more)
License:Apache 2.0

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."[1] Keras 3 will be the default Keras version for TensorFlow 2.16 onwards, but Keras 2 can still be used.[2]

History

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

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),[4] 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.[5]

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

As of version 2.4, 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.[9]

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. 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 produce deep models on smartphones (iOS and Android), on the web, or on the Java Virtual Machine. It also allows use of distributed training of deep-learning models on clusters of graphics processing units (GPU) and tensor processing units (TPU).[11]

See also

External links

Notes and References

  1. Web site: Keras: Deep Learning for humans . 2024-04-30 . keras.io.
  2. Web site: What's new in TensorFlow 2.16 . 2024-04-30 . en.
  3. Web site: Team . Keras . Keras documentation: About Keras 3 . 2024-02-10 . keras.io . en.
  4. Web site: Keras Documentation. keras.io. 2016-09-18.
  5. Xception: Deep Learning with Depthwise Separable Convolutions. Chollet . François. 1610.02357. 2016.
  6. Web site: Keras backends. keras.io. 2018-02-23.
  7. Web site: Why use Keras?. keras.io. 2020-03-22.
  8. Web site: R interface to Keras. keras.rstudio.com. 2020-03-22.
  9. Web site: Introducing Keras Core: Keras for TensorFlow, JAX, and PyTorch. . François . Chollet . Lauren . Usui . Keras.io . 2023-07-11 . 2023 .
  10. Web site: Core - Keras Documentation. keras.io. en. 2018-11-14.
  11. Web site: Using TPUs TensorFlow. TensorFlow. en. 2018-11-14. 2019-06-04. https://web.archive.org/web/20190604082736/https://www.tensorflow.org/guide/using_tpu. dead.