1. 학습
  2. /
  3. 강의
  4. /
  5. PyTorch로 배우는 이미지 딥러닝

Connected

연습 문제

Generator

GAN의 generator는 무작위 노이즈 벡터를 입력으로 받아 생성된 이미지를 출력해요. 아키텍처를 재사용하기 쉽게 만들기 위해, 모델에 입력과 출력의 형태를 매개변수로 전달하겠습니다. 이렇게 하면 입력 노이즈 크기나 이미지 모양이 달라져도 같은 모델을 사용할 수 있어요.

이미 torch.nn이 nn으로 임포트되어 있어요. 또한 선형층, 배치 정규화, ReLU 활성화를 묶어 반환하는 커스텀 gen_block() 함수도 사용할 수 있어요. 이 블록을 generator의 빌딩 블록으로 사용합니다.

def gen_block(in_dim, out_dim):
    return nn.Sequential(
        nn.Linear(in_dim, out_dim),
        nn.BatchNorm1d(out_dim),
        nn.ReLU(inplace=True)
    )

지침

100 XP
  • self.generator를 순차 모델로 정의하세요.
  • 마지막 gen_block 다음에, 입력 크기를 알맞게 설정하고 출력 크기가 out_dim이 되도록 선형층을 추가하세요.
  • 선형층 뒤에 시그모이드 활성화를 추가하세요.
  • forward() 메서드에서 입력을 self.generator에 통과시키세요.