画像を生成する
GAN の設計と学習が完了したので、生成できる画像の品質を評価していきます。まずは目視で確認し、生成結果がポケモンに見えるかどうかを確かめましょう。そのために、ジェネレーターへの入力としてランダムノイズを作成し、モデルに渡して出力をプロットします。
学習済み重みを持つ Deep Convolutional Generator は gen として利用できます。torch と、matplotlib.pyplot は plt としてすでにインポート済みです。
この演習はコースの一部です
PyTorch で学ぶ画像向け Deep Learning
演習の手順
- 生成する画像枚数を表す
num_images_to_generate× 入力ノイズサイズ16の形状を持つランダムノイズのテンソルを作成し、noiseに代入します。 - ノイズをジェネレーターに渡して画像を生成し、
fakeに代入します。 - for ループ内で、
fakeをスライスしてi番目の画像を取り出し、image_tensorに代入します。 image_tensorの次元を (color, height, width) から (height, 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()