Product
Keras
Keras is a deep learning API written in Python that runs on top of JAX, TensorFlow or PyTorch. Since 2015 it has offered a high-level way to define, train and export neural networks without tying a project to one framework.
Era Deep learning
- Release date
Keras is a deep learning API written in Python. It does not carry its own numerical engine; it is capable of running on top of JAX, TensorFlow or PyTorch, so the same model code can be moved between those backends[1]. An API at this level handles the parts of a project that are repeated every time — defining layers, stacking them into a model, writing a training loop, feeding data in batches — and leaves the low-level tensor math to the backend.
Layers and models
The core data structures of Keras are layers and models[1]. A layer is a reusable block of computation: it holds a set of weights and defines how an input tensor is turned into an output tensor. A model is itself a layer built out of other layers. The simplest type of model is the Sequential model, which stacks layers one after another; for anything that branches, merges or loops, Keras offers a functional API for arbitrary graphs of layers[1].
One API, three frameworks
Keras 3 is a multi-framework API: any Keras model can be instantiated as a PyTorch Module, exported as a TensorFlow SavedModel, or instantiated as a stateless JAX function[1]. The practical effect is that a model written once can be handed to tools from whichever of the three ecosystems a team already uses, instead of being locked into one.
The same holds for data. The fit(), evaluate() and predict() routines work with tf.data.Dataset objects, PyTorch DataLoader objects, NumPy arrays and Pandas dataframes regardless of backend[1]. A training script therefore does not have to be rewritten just because the data pipeline or the backend changes.
Backends do differ in speed. Keras says its benchmarks show JAX typically delivers the best training and inference performance on GPU, TPU and CPU, while non-XLA TensorFlow is occasionally faster on GPU[1]. These are the project's own benchmark results, so they describe the configurations Keras measured rather than a universal ranking.
Origins
The keras-team/keras repository on GitHub was created on 28 March 2015[2]. The name Keras refers to the Greek word for horn, and the project was initially developed as part of the research effort of project ONEIROS[1]. It is distributed under the Apache-2.0 license, and the repository has about 64,000 stars on GitHub[2].
Keras 3
Keras 3.0.0 was published on GitHub on 28 November 2023, and the 3.x line has continued with point releases since[3]. The multi-framework design is what defines this line: one API surface sits in front of JAX, TensorFlow and PyTorch rather than a single engine[1]. Because a model can cross between them, teams can keep the interface they write against stable while the engine underneath is chosen for speed, hardware or existing infrastructure.
Who uses it
Keras says it is used by organizations including NASA, YouTube and Waymo[1] — space and science work, a large video platform, and self-driving car software. Three very different settings, sharing the need to define a model quickly and then train it at scale.
Why it matters
The appeal of Keras is separation of concerns. Model code describes layers and how they connect; the backend decides how the arithmetic actually runs on a GPU, TPU or CPU; the data code can stay in whatever format the rest of the pipeline uses. That makes the library a common entry point for people learning deep learning, who can start with a Sequential model and a few lines of fit(), and a practical tool for teams that need the same model to be exported into a different ecosystem's format later.
The trade-off is abstraction. A high-level API hides detail: when a model trains slowly or uses more memory than expected, the cause usually sits in the backend and the compiled operations underneath, where the user has less direct control. Reported speeds also depend on the benchmark, the hardware and the compiler settings, as the project's own comparison between JAX and non-XLA TensorFlow shows[1]. Keras is best understood as the layer where a model is described and trained, not as a replacement for the engines it runs on.
TechniquesDeep learning
Ecosystem & regionOpen sourceDeveloper tools
Notes and sources
- About Keras 3https://keras.io/about/
- keras-team/keras repository metadatahttps://api.github.com/repos/keras-team/keras
- Keras releaseshttps://github.com/keras-team/keras/releases
Cite this page: Keras. TellWorld, https://www.tellworld.net/products/keras. Updated 2026-11-08