이미지 생성하기
이제 GAN을 설계하고 학습까지 마쳤으니, 생성되는 이미지의 품질을 평가해 볼 차례예요. 먼저 육안으로 확인해, 생성 결과가 포켓몬과 비슷해 보이는지 살펴보겠습니다. 이를 위해 생성기의 입력으로 사용할 랜덤 노이즈를 만들고, 모델에 전달한 뒤 결과를 시각화할 거예요.
학습된 가중치를 가진 Deep Convolutional Generator는 gen으로 제공됩니다. torch와 matplotlib.pyplot의 plt는 이미 임포트되어 있어요.
이 연습은 강의의 일부입니다
PyTorch로 배우는 이미지 딥러닝
연습 안내
- 생성기 학습에 사용했던 입력 노이즈 크기인
16과num_images_to_generate를 사용해, 형태가num_images_to_generateby16인 무작위 노이즈 텐서를 만들고noise에 할당하세요. - 노이즈를 생성기에 전달해 이미지를 생성하고
fake에 할당하세요. - for 루프 안에서
fake를 슬라이싱해i번째 이미지를 추출하고image_tensor에 할당하세요. image_tensor의 차원을 (color, height, width)에서 (hight, width, color)로 바꾸고, 결과를image_tensor_permuted에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
num_images_to_generate = 5
# Create random noise tensor
noise = ____
# Generate images
with torch.no_grad():
fake = ____
print(f"Generated tensor shape: {fake.shape}")
for i in range(num_images_to_generate):
# Slice fake to select i-th image
image_tensor = ____
# Permute the image dimensions
image_tensor_permuted = ____
plt.imshow(image_tensor_permuted)
plt.show()