Tạo ảnh
Giờ bạn đã thiết kế và huấn luyện xong GAN, đã đến lúc đánh giá chất lượng ảnh mà mô hình có thể tạo ra. Trước hết, bạn sẽ quan sát trực quan để xem các ảnh sinh ra có giống Pokemon hay không. Để làm điều này, bạn sẽ tạo nhiễu ngẫu nhiên làm đầu vào cho generator, truyền nó qua mô hình và vẽ các đầu ra.
Deep Convolutional Generator với trọng số đã được huấn luyện có sẵn dưới tên gen. torch và matplotlib.pyplot với bí danh plt đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Deep Learning cho Ảnh với PyTorch
Hướng dẫn bài tập
- Tạo một tensor nhiễu ngẫu nhiên có dạng
num_images_to_generatetheo16(kích thước nhiễu đầu vào bạn dùng để huấn luyện generator) và gán vàonoise. - Tạo ảnh bằng cách truyền nhiễu vào generator và gán kết quả vào
fake. - Bên trong vòng lặp for, cắt
fakeđể lấy ảnh thứivà gán vàoimage_tensor. - Hoán vị các chiều của
image_tensortừ (màu, cao, rộng) sang (cao, rộng, màu) và gán đầu ra vàoimage_tensor_permuted.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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()