JavaScript is required

Để xây dựng một lớp CNN gồm 64 bộ lọc kích thước 5x5, câu lệnh nào sau đây là chính xác?

A.

model.add(Conv2D(64.(5,5), activation='relu'))model.add(MaxPooling2D(2,2))

B.

model.add(Conv2D(5,(64,64), activation="relu')) model.add(MaxPooling2D(2.2))

C.

model.add(Conv2D(64,(2,2), activation='relu'))model.add(MaxPooling2D(5,5))

D.
model.add(Conv2D((2,2).(5,5), activation='relu'))model.add(MaxPooling2D(64))
Trả lời:

Đáp án đúng: A


Để xây dựng một lớp CNN (Convolutional Neural Network) với 64 bộ lọc kích thước 5x5, ta sử dụng hàm Conv2D trong Keras (hoặc TensorFlow) với các tham số phù hợp.

Phân tích các đáp án:

  • Đáp án A: model.add(Conv2D(64,(5,5), activation='relu')) model.add(MaxPooling2D(2,2)). Đáp án này đúng. Conv2D(64, (5, 5), activation='relu') tạo ra một lớp convolutional với 64 bộ lọc kích thước 5x5 và hàm kích hoạt ReLU. MaxPooling2D(2, 2) thêm một lớp max pooling với kích thước cửa sổ 2x2.
  • Đáp án B: model.add(Conv2D(5,(64,64), activation="relu')) model.add(MaxPooling2D(2.2)). Đáp án này sai vì tham số đầu tiên của Conv2D phải là số lượng bộ lọc, tham số thứ hai phải là kích thước của bộ lọc. Ở đây, số lượng bộ lọc là 5 và kích thước bộ lọc là (64, 64), ngược lại với yêu cầu của đề bài. Ngoài ra, kích thước pooling phải là số nguyên.
  • Đáp án C: model.add(Conv2D(64,(2,2), activation='relu')) model.add(MaxPooling2D(5,5)). Đáp án này sai vì kích thước bộ lọc là (2,2) chứ không phải (5,5) như yêu cầu của đề bài.
  • Đáp án D: model.add(Conv2D((2,2).(5,5), activation='relu')) model.add(MaxPooling2D(64)). Đáp án này sai vì cú pháp (2,2).(5,5) không hợp lệ trong Python/Keras để chỉ kích thước bộ lọc. Hơn nữa, MaxPooling2D(64) không đúng vì cần một tuple chỉ kích thước của bộ lọc.

Vậy đáp án đúng là A.

Câu hỏi liên quan