CS5720 - Week 9
Slide 162 of 180

TensorFlow/Keras - High-Level API

What is Keras?

Keras is TensorFlow's official high-level API for building and training deep learning models. It provides:
🚀
User-Friendly
Simple, consistent interface
🧩
Modular
Build models like LEGO
Fast Iteration
Quick prototyping
🔧
Extensible
Custom layers & metrics

Keras API Levels

Sequential API
Linear stack of layers - perfect for 70% of use cases
Functional API
Complex architectures - multiple inputs/outputs, shared layers
Model Subclassing
Maximum flexibility - define forward pass imperatively
Custom Layers
Create your own layers with custom computations

Keras in Action

# Sequential Model - Simple and Clean
import tensorflow as tf
from tensorflow import keras

# Define model architecture
model = keras.Sequential([
    keras.layers.Dense(128, activation='relu', input_shape=(784,)),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(64, activation='relu'),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(10, activation='softmax')
])

# Compile with optimizer, loss, and metrics
model.compile(
    optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy']
)

# Model summary
model.summary()
Prepared by Dr. Gorkem Kar