Deep Learning with Keras 3
Patterns and best practices based on Deep Learning with Python, 2nd Edition by François Chollet, updated for Keras 3 (Multi-Backend).
Core Workflow
-
Prepare Data: Normalize, split train/val/test, create tf.data.Dataset
-
Build Model: Sequential, Functional, or Subclassing API
-
Compile: model.compile(optimizer, loss, metrics)
-
Train: model.fit(data, epochs, validation_data, callbacks)
-
Evaluate: model.evaluate(test_data)
Model Building APIs
Sequential - Simple stack of layers:
model = keras.Sequential([ layers.Dense(64, activation="relu"), layers.Dense(10, activation="softmax") ])
Functional - Multi-input/output, shared layers, non-linear topologies:
inputs = keras.Input(shape=(64,)) x = layers.Dense(64, activation="relu")(inputs) outputs = layers.Dense(10, activation="softmax")(x) model = keras.Model(inputs=inputs, outputs=outputs)
Subclassing - Full flexibility with call() method:
class MyModel(keras.Model): def init(self): super().init() self.dense1 = layers.Dense(64, activation="relu") self.dense2 = layers.Dense(10, activation="softmax")
def call(self, inputs):
x = self.dense1(inputs)
return self.dense2(x)
Quick Reference: Loss & Optimizer Selection
Task Loss Final Activation
Binary classification binary_crossentropy
sigmoid
Multiclass (one-hot) categorical_crossentropy
softmax
Multiclass (integers) sparse_categorical_crossentropy
softmax
Regression mse or mae
None
Optimizers: rmsprop (default), adam (popular), sgd (with momentum for fine-tuning)
Domain-Specific Guides
Topic Reference When to Use
Keras 3 Migration keras3_changes.md START HERE: Multi-backend setup, keras.ops , import keras
Fundamentals basics.md Overfitting, regularization, data prep, K-fold validation
Keras Deep Dive keras_working.md Custom metrics, callbacks, training loops, tf.function
Computer Vision computer_vision.md Convnets, data augmentation, transfer learning
Advanced CV advanced_cv.md Segmentation, ResNets, Xception, Grad-CAM
Time Series timeseries.md RNNs (LSTM/GRU), 1D convnets, forecasting
NLP & Transformers nlp_transformers.md Text processing, embeddings, Transformer encoder/decoder
Generative DL generative_dl.md Text generation, VAEs, GANs, style transfer
Best Practices best_practices.md KerasTuner, mixed precision, multi-GPU, TPU
Essential Callbacks
callbacks = [ keras.callbacks.EarlyStopping(monitor="val_loss", patience=3), keras.callbacks.ModelCheckpoint("best.keras", save_best_only=True), keras.callbacks.TensorBoard(log_dir="./logs") ] model.fit(..., callbacks=callbacks)
Utility Scripts
Script Description
quick_train.py Reusable training template with standard callbacks and history plotting
visualize_filters.py Visualize convnet filter patterns via gradient ascent