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, Flatten và MaxPool2D đã 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
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
Densecho đầu ra (3 hạng mục, kích hoạtsoftmax).
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()