在訓練我的 VAE 模型后,我正在繪制 15 張影像,但它會產生上述錯誤。代碼如下
n = 15 # figure with 15x15 digits
digit_size = 32
figure = np.zeros((digit_size * n, digit_size * n))
# We will sample n points within [-15, 15] standard deviations
grid_x = np.linspace(-15, 15, n)
grid_y = np.linspace(-15, 15, n)
for i, yi in enumerate(grid_x):
for j, xi in enumerate(grid_y):
z_sample = np.array([[xi, yi]])
x_decoded = decoder.predict(z_sample)
digit = x_decoded[0].reshape(digit_size, digit_size, 3)
figure[i * digit_size: (i 1) * digit_size,
j * digit_size: (j 1) * digit_size] = digit
plt.figure(figsize=(10, 10))
plt.imshow(figure)
plt.show()
我知道我的模型從 3072 潛在空間預測影像大小 (32 * 32 * 3) 但我在這里只給出 (32 * 32) 這就是它生成此錯誤但我不知道如何生成 (32 * 32 * 3 ) 從下面的部分。
figure[i * digit_size: (i 1) * digit_size,
j * digit_size: (j 1) * digit_size] = digit
謝謝
uj5u.com熱心網友回復:
試試這是否可行,我無法檢查自己,因為您沒有提供完整的代碼(使用 VAE 模型生成器)
n = 15 # figure with 15x15 digits
digit_size = 32
figure = np.zeros((digit_size * n, digit_size * n, 3))
# We will sample n points within [-15, 15] standard deviations
grid_x = np.linspace(-15, 15, n)
grid_y = np.linspace(-15, 15, n)
for i, yi in enumerate(grid_x):
for j, xi in enumerate(grid_y):
z_sample = np.array([[xi, yi]])
x_decoded = decoder.predict(z_sample)
digit = x_decoded[0].reshape(digit_size, digit_size, 3)
figure[i * digit_size: (i 1) * digit_size,
j * digit_size: (j 1) * digit_size,
: ] = digit
plt.figure(figsize=(10, 10))
plt.imshow(figure)
plt.show()
uj5u.com熱心網友回復:
我無法對其進行測驗,但對我而言,所有問題都是您figure在開始時生成錯誤。
它需要有尺寸的第三維3
figure = np.zeros((digit_size * n, digit_size * n, 3))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491604.html
標籤:Python python-3.x 张量流 喀拉斯 深度学习
