keras-team/keras
Deep Learning for humans
What it solves
Keras 3 provides a high-level, multi-backend deep learning framework that eliminates framework lock-in. It allows developers to build and train models for various tasks—such as computer vision, NLP, and audio processing—while remaining agnostic to the underlying engine powering the computations.
How it works
Keras 3 acts as an interface layer that can run on top of JAX, TensorFlow, PyTorch, or OpenVINO (for inference). Users can configure their preferred backend via environment variables or a config file. This architecture allows models to be trained using existing data pipelines from any of these frameworks (e.g., tf.data.Dataset or PyTorch DataLoaders) and enables Keras models to be integrated into native low-level workflows of the chosen backend.
Who it’s for
It is designed for deep learning practitioners, from individual developers to global enterprises, who want to accelerate model development and avoid being tied to a single ecosystem. It is particularly useful for PyTorch and JAX users who want Keras's high-level API, or TensorFlow users migrating to other backends.
Highlights
- Multi-backend support: Run workflows on JAX, TensorFlow, PyTorch, or OpenVINO.
- Performance gains: Ability to pick the fastest backend for a specific architecture, with reported speedups of 20% to 350%.
- Interoperability: Keras models can be used within native PyTorch Modules or JAX-native model functions.
- Scale: Supports scaling from local laptops to large GPU/TPU clusters.
Related
- Project
- Dispatch
- Project
- Project
- Project