Mô hình hai đầu vào
Khi dữ liệu đã sẵn sàng, đây là lúc xây dựng kiến trúc mô hình hai đầu vào! Bạn sẽ thiết lập một lớp mô hình với các phương thức sau:
.__init__(): bạn sẽ định nghĩa các mạng con bằng cách nhóm các tầng; đây là nơi bạn khai báo hai tầng để xử lý hai đầu vào, và một bộ phân loại trả về điểm phân loại cho mỗi lớp.forward(): bạn sẽ đưa cả hai đầu vào qua các mạng con tương ứng đã định nghĩa sẵn, nối (concatenate) các đầu ra, rồi truyền chúng vào bộ phân loại.
torch.nn đã được nhập sẵn dưới tên nn. Bắt tay vào làm thôi!
Bài tập này là một phần của khóa học
Deep Learning nâng cao với PyTorch
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.
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define sub-networks as sequential models
____ = ____(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
____ = ____(
nn.Linear(30, 8),
nn.ELU(),
)
____ = ____(
nn.Linear(128 + 8, 964),
)