[深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_訓練篇
生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖像的大小和通道數。
Python version: 3.11.3
NumPy version: 1.24.2
Matplotlib version: 3.7.1
tensorflow version: 2.13.0
load_model
函數從指定的路徑載入預訓練的生成模型(GAN 模型)。tf.random.normal
生成隨機雜訊向量。generator
)來生成圖像。plot_multiple_images
函數顯示生成的圖像。import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow import keras
from keras.models import load_model
# 繪製生成圖像用
def plot_multiple_images (images, n=None):
if images.shape [-1] == 1:
images = np. squeeze (images, axis=-1)
plt.figure(figsize=(n, 2))
for i in range(n):
plt.subplot(2, int(n/2), i + 1)
plt. imshow (images [i], cmap="binary")
plt.axis ("off")
plt.show ()
# 載入模型
generator = load_model('載入模型')
noise_dim = 100 # 雜訊向量大小
num_examples_to_generate = 16 # 生成筆數
# 產生亂數(雜訊)
seed = tf.random.normal([num_examples_to_generate, noise_dim])
# 生成圖片
generated_images = generator (seed)
# 顯示圖片
plot_multiple_images (generated_images, 10)
Conv2D
層,則該層的輸出大小會決定生成的圖像的大小。64x64
像素,那麼你應該在顯示這些圖像時使用 64x64
的維度進行重塑。