1. 학습
  2. /
  3. 강의
  4. /
  5. Intermediate Deep Learning with PyTorch

Connected

연습 문제

PyTorch 모델

OOP 방식을 사용해 모델 아키텍처를 정의해 보겠습니다. 이를 위해서는 모델 클래스를 만들고 그 안에 두 가지 메서드를 정의해야 합니다.

  • .__init__()에서는 사용할 층을 정의합니다.

  • forward()에서는 입력이 모델에 들어왔을 때 어떤 일이 일어나는지를 정의합니다. 이곳에서 입력을 미리 정의한 층에 통과시킵니다.

이제 세 개의 선형 층과 ReLU 활성화를 사용하는 모델을 만들어 보죠. 마지막 선형 층 뒤에는 이진 분류(예: 물의 음용 가능성 예측)와 잘 맞는 시그모이드 활성화를 사용해야 합니다. 여러분이 더 익숙할 수 있는 nn.Sequential()로 정의한 모델은 다음과 같습니다.

net = nn.Sequential(
  nn.Linear(9, 16),
  nn.ReLU(),
  nn.Linear(16, 8),
  nn.ReLU(),
  nn.Linear(8, 1),
  nn.Sigmoid(),
)

이 모델을 클래스로 다시 작성해 봅시다!

지침

100 XP
  • .__init__() 메서드에서 제공된 모델 정의에 맞는 차원으로 세 개의 선형 층을 정의하고, 각각 self.fc1, self.fc2, self.fc3에 할당하세요.
  • forward() 메서드에서 모델 입력 x를 모든 층에 통과시키되, 첫 번째 층에서 이미 한 것과 유사하게 각 층 위에 활성화를 추가하는 것을 잊지 마세요.