Convolutional Neural Networks

Machine LearningDeep LearningFree Lesson

Advertisement

Introduction

CNNs are specialized for processing grid-like data such as images.

Conv2D Layer

from tensorflow.keras import layers

model = keras.Sequential([
    layers.Conv2D(32, (3, 3), activation="relu", input_shape=(28, 28, 1)),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation="relu"),
    layers.MaxPooling2D((2, 2)),
    layers.Flatten(),
    layers.Dense(64, activation="relu"),
    layers.Dense(10, activation="softmax")
])

Data Augmentation

from tensorflow.keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
    rotation_range=20,
    width_shift_range=0.2,
    height_shift_range=0.2,
    horizontal_flip=True,
    validation_split=0.2
)

train_generator = datagen.flow_from_directory(
    "data/train",
    target_size=(150, 150),
    batch_size=32
)

Practice Problems

  1. Build CNN for image classification
  2. Add dropout layers
  3. Use pre-trained models
  4. Implement data augmentation
  5. Fine-tune CNN for custom data

Advertisement

Need Expert Python Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement