Xây dựng mô hình CNN
Xây dựng mô hình CNN trong Keras không khó hơn nhiều so với các mô hình bạn đã làm trong khóa học này! Bạn chỉ cần sử dụng các tầng tích chập (convolutional).
Bạn sẽ xây dựng một model tích chập nông để phân loại bộ dữ liệu chữ số MNIST — chính bộ bạn đã khử nhiễu bằng autoencoder! Ảnh có kích thước 28 x 28 pixel và chỉ có một kênh vì là ảnh đen trắng.
Hãy bắt tay xây dựng mô hình tích chập nhỏ này!
Bài tập này là một phần của khóa học
Nhập môn Deep Learning với Keras
Hướng dẫn bài tập
- Import các tầng
Conv2DvàFlatten, rồi khởi tạo mô hình của bạn. - Thêm tầng tích chập đầu tiên với 32 filter kích thước 3x3 và bộ 3D tuple tương ứng làm
input_shape. - Thêm tầng tích chập thứ hai với 16 filter kích thước 3x3 cùng activation relu.
- Trải phẳng đầu ra của tầng trước để tạo một vector một chiều.
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.
# Import the Conv2D and Flatten layers and instantiate model
from tensorflow.keras.____ import ____,____
model = ____
# Add a convolutional layer of 32 filters of size 3x3
model.add(Conv2D(____, kernel_size = ____, input_shape = (____, ____, 1), activation = 'relu'))
# Add a convolutional layer of 16 filters of size 3x3
model.add(____(____, ____ = ____, activation = ____))
# Flatten the previous layer output
model.add(____)
# Add as many outputs as classes with softmax activation
model.add(Dense(10, activation = 'softmax'))