如何控制哪一个数字是由在MNIST中训练的GAN生成的?

2024-09-27 19:18:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我对GANs很感兴趣,所以我遵循了这个教程link关于Keras的MNIST的GANs。结果是,它生成了一个4x4图像,随机数字像this。我想问一下如何用我想要的数字而不是像this这样的随机数字生成4x4图像。你知道吗

def plot_generated_images(epoch, generator, examples=16, dim=(4, 4), figsize=(4, 4)):
    noise = np.random.normal(0, 1, size=[examples, random_dim])
    generated_images = generator.predict(noise)
    generated_images = generated_images.reshape(examples, 28, 28)

plt.figure(figsize=figsize)

for i in range(generated_images.shape[0]):
    plt.subplot(dim[0], dim[1], i+1)
    plt.imshow(generated_images[i], interpolation='nearest', cmap='gray_r')
    plt.axis('off')

plt.tight_layout()
plt.savefig('gan_generated_image_epoch_%d.png' % epoch)

Tags: 图像教程plt数字randomthisgeneratorexamples
1条回答
网友
1楼 · 发布于 2024-09-27 19:18:01

你使用的GAN类型无法控制它生成的数字。为此你需要训练一个Conditional GAN。你知道吗

唯一的方法是通过输入到生成器的噪声向量来控制GAN生成的图像。你可以尝试改变这个向量的值,直到你得到你想要的数字。你知道吗

最简单的方法是通过随机种子

np.random.seed(13)  # changing this number will result in different digits being created
noise = np.random.normal(0, 1, size=[examples, random_dim])
generated_images = generator.predict(noise)
generated_images = generated_images.reshape(examples, 28, 28)

相关问题 更多 >

    热门问题