C.W.K.
Stream
Lesson 03 of 07 · published

The Journey

~9 min · origin

Level 0Keras Apprentice
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

Three eras, one library

Keras has gone through three distinct eras — and which one a tutorial was written in tells you instantly how much to trust it.

Era 1: Standalone Library (2015–2017) — Keras started as an independent library that could run on top of Theano, TensorFlow, or CNTK. This multi-backend design was Keras's original superpower, letting researchers switch engines without changing code.

Era 2: TensorFlow Integration (2017–2023) — Keras was integrated into TensorFlow as tf.keras, becoming TF's official high-level API. This brought massive adoption but created tight coupling. Keras became synonymous with TensorFlow in many developers' minds, and running Keras on PyTorch or JAX wasn't possible.

Era 3: Keras 3 Multi-Backend Rewrite (2023–present) — Chollet and the team performed a complete rewrite, restoring the original multi-backend vision but at a much deeper level. Keras 3 runs on TensorFlow, PyTorch, JAX, and OpenVINO. The split back to standalone was necessary because TensorFlow coupling limited Keras's reach — researchers using PyTorch or JAX were locked out.

The practical upshot: a tutorial's vintage is written in its imports. tf.keras... everywhere is Era-2 thinking; a bare import keras with a deliberate backend choice (the Code block below) is someone living in Era 3.

Code

Keras 3 — the same model code on any backend·python
# Keras 3 — works on any backend
import keras
from keras import layers

# Same code runs on TF, PyTorch, or JAX
model = keras.Sequential([
    layers.Dense(128, activation="relu"),
    layers.Dense(10, activation="softmax"),
])

External links

Exercise

Open the changelog at github.com/keras-team/keras/releases. Find the entry where Keras 3.0.0 was released. Read the highlights. Note one breaking change you'd hit if you upgraded a Keras 2 codebase tomorrow.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.