시작하기무료로 시작하기

두 입력 모델

데이터 준비가 끝났다면, 이제 두 입력을 받는 모델 아키텍처를 만들어 볼 차례예요! 이를 위해 다음 메서드를 갖춘 모델 클래스를 설정하겠습니다.

  • .__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), 
        )
코드 편집 및 실행