Keras is an
open-source library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
that provides a
Python interface for
artificial neural network
In machine learning, a neural network (also artificial neural network or neural net, abbreviated ANN or NN) is a computational model inspired by the structure and functions of biological neural networks.
A neural network consists of connected ...
s. Keras was first independent software, then integrated into the
TensorFlow library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
, and later added support for more. "Keras 3 is a full rewrite of Keras
nd can be usedas 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." Keras 3 will be the default Keras version for TensorFlow 2.16 onwards, but Keras 2 can still be used.
History
The name 'Keras' derives from the
Ancient Greek
Ancient Greek (, ; ) includes the forms of the Greek language used in ancient Greece and the classical antiquity, ancient world from around 1500 BC to 300 BC. It is often roughly divided into the following periods: Mycenaean Greek (), Greek ...
word
κέρας (Keras) meaning 'horn'.
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), and its primary author and maintainer is
François Chollet, who was a
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
engineer until leaving the company in 2024. Chollet is also the author of the
Xception
Critical Software is a Portuguese international information systems and software company, headquartered in Coimbra, Portugal, Coimbra. The company was established in 1998, from the University of Coimbra's business incubator and technology transfer ...
deep neural network model.
Up until version 2.3, Keras supported multiple
backends, including TensorFlow,
Microsoft Cognitive Toolkit,
Theano, and
PlaidML.
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. 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 for deep neural networks. The code is hosted on
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
, and community support forums include the GitHub issues page.
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.
Keras allows users to produce deep models on smartphones (
iOS and
Android), on the web, or on the
Java Virtual Machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ...
.
It also allows use of distributed training of deep-learning models on clusters of
graphics processing units (GPU) and
tensor processing units (TPU).
See also
*
Comparison of deep-learning software
References
External links
*
Kerason
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
{{Deep Learning Software
Deep learning software
Free statistical software
Python (programming language) scientific libraries
Software using the Apache license