두 입력 모델
데이터 준비가 끝났다면, 이제 두 입력을 받는 모델 아키텍처를 만들어 볼 차례예요! 이를 위해 다음 메서드를 갖춘 모델 클래스를 설정하겠습니다.
.__init__()에서는 레이어를 묶어 서브네트워크를 정의해요. 여기서 두 입력을 처리할 두 개의 레이어와 각 클래스에 대한 분류 점수를 반환하는 분류기를 정의합니다.forward()에서는 두 입력을 미리 정의한 해당 서브네트워크에 각각 통과시키고, 출력을 이어 붙인 뒤 분류기에 전달합니다.
torch.nn은 이미 nn으로 임포트되어 있어요. 시작해 볼까요?
이 연습은 강의의 일부입니다
PyTorch로 배우는 Intermediate Deep Learning
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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),
)