Transfer Learning

Machine LearningDeep LearningFree Lesson

Advertisement

Introduction

Use pre-trained models to leverage learned features for new tasks.

Using Pre-trained Models

from tensorflow.keras.applications import VGG16

base_model = VGG16(weights="imagenet", include_top=False, input_shape=(224, 224, 3))
base_model.trainable = False  # Freeze base

Adding Custom Layers

from tensorflow.keras import layers, models

model = models.Sequential([
    base_model,
    layers.GlobalAveragePooling2D(),
    layers.Dense(256, activation="relu"),
    layers.Dropout(0.5),
    layers.Dense(10, activation="softmax")
])

Fine-tuning

# Unfreeze last few layers
base_model.trainable = True
for layer in base_model.layers[:-4]:
    layer.trainable = False

model.compile(optimizer=keras.optimizers.Adam(1e-5), loss="categorical_crossentropy")

Practice Problems

  1. Use VGG/ResNet for image classification
  2. Add custom classification head
  3. Fine-tune unfrozen layers
  4. Compare frozen vs fine-tuned
  5. Apply to custom dataset

Advertisement

Need Expert Python Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement