Bắt đầu ngayBắt đầu miễn phí

Các lớp pooling trong Keras

Keras hiện thực hóa phép pooling dưới dạng một lớp có thể chèn vào CNN giữa các lớp khác. Trong bài tập này, bạn sẽ xây dựng một mạng nơ-ron tích chập tương tự như mạng bạn đã tạo trước đó:

Convolution => Convolution => Flatten => Dense

Tuy nhiên, bạn sẽ thêm một lớp pooling. Kiến trúc sẽ thêm một lớp max-pooling giữa lớp tích chập và lớp dense với cửa sổ pooling 2x2:

Convolution => Max pooling => Convolution => Flatten => Dense

Một model kiểu Sequential cùng với các đối tượng Dense, Conv2D, FlattenMaxPool2D đã có sẵn trong workspace của bạn.

Bài tập này là một phần của khóa học

Mô hình hóa ảnh với Keras

Xem khóa học

Hướng dẫn bài tập

  • Thêm một lớp tích chập đầu vào (15 đơn vị, kích thước kernel là 2, kích hoạt relu).
  • Thêm một phép max pooling (pooling trên các cửa sổ kích thước 2x2).
  • Thêm một lớp tích chập nữa (5 đơn vị, kích thước kernel là 2, kích hoạt relu).
  • Làm phẳng đầu ra của lớp tích chập thứ hai và thêm một lớp Dense cho đầu ra (3 hạng mục, kích hoạt softmax).

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Add a convolutional layer
____(____(15, kernel_size=2, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)))

# Add a pooling operation
____

# Add another convolutional layer
____

# Flatten and feed to output layer
model.add(____)
model.add(____(3, activation='softmax'))
model.summary()
Chỉnh sửa và Chạy Mã