Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在给定经过训练的生成器模型的情况下,如何使用GANS创建新的假图像?_Python_Machine Learning_Image Processing_Generative Adversarial Network - Fatal编程技术网

Python 在给定经过训练的生成器模型的情况下,如何使用GANS创建新的假图像?

Python 在给定经过训练的生成器模型的情况下,如何使用GANS创建新的假图像?,python,machine-learning,image-processing,generative-adversarial-network,Python,Machine Learning,Image Processing,Generative Adversarial Network,我正在编写这个教程:在这个教程中,我尝试训练一个包括生成器和鉴别器模型的GAN。这是我的第一个GAN项目,所以我对这一切都是新手 我能够从头到尾运行此代码,但不知何故,我不清楚两个方面: 下面的代码有两个内核,我不确定这段代码实际上在做什么。我希望有人能解释一下。 在经过训练的生成器模型下,如何实际生成新的伪图像?我不确定这篇教程是否在做这件事,或者我是否误解了这件事,而且它确实在做。我希望有人能帮我 GAN的生成器部分接收噪声并生成新的伪图像,这是第一节的第2行和第3行发生的情况,然后显示

我正在编写这个教程:在这个教程中,我尝试训练一个包括生成器和鉴别器模型的GAN。这是我的第一个GAN项目,所以我对这一切都是新手

我能够从头到尾运行此代码,但不知何故,我不清楚两个方面:

  • 下面的代码有两个内核,我不确定这段代码实际上在做什么。我希望有人能解释一下。
  • 在经过训练的生成器模型下,如何实际生成新的伪图像?我不确定这篇教程是否在做这件事,或者我是否误解了这件事,而且它确实在做。我希望有人能帮我

  • GAN的生成器部分接收噪声并生成新的伪图像,这是第一节的第2行和第3行发生的情况,然后显示您拥有的图像
    plt.imshow(生成的图像[0,:,:,0])


    第二部分是鉴别器,用于尝试将生成的图像分类为真假,这有助于生成器生成更好的假图像。

    Google Colab笔记本开头的图像旨在解释GANs背后的主要思想以及1中的第一部分代码。问题:

  • GANs使用两个神经网络(鉴别器和生成器)一起训练。生成器将随机噪声(或图像中的随机种子)转换为可视表示(在这种情况下,一般情况下,GANs可用于生成其他类型的数据)。鉴别器仅在训练中使用,作为一个控件,告诉生成器它在将随机种子转换为您试图模拟的数据(在本例中为人脸)的令人信服的模拟方面做得有多好。为此,您还需要对鉴别器进行训练,使其能够更好地检测模拟数据(最初检测模拟数据可能相对容易),但由于您只对在完成模型训练后生成新数据感兴趣,因此训练后不使用此部分

    你的1的第一部分。代码旨在显示未经培训的发电机的功能 输出(输入为随机种子,输出为非相干图像)

    1的第二部分。代码旨在显示未经培训的 鉴别器输出(使用生成的图像作为输入,它输出它是真实图像而不是模拟图像的概率)

  • 对于你问题的第二部分,你只需要进一步遵循这个逻辑。一旦经过培训,您就不需要鉴别器(因为您对生成新数据感兴趣,也不需要鉴别器来告诉您数据是否真实)。所以,您只需要将新的随机种子(与教程中用于训练模型的随机种子形状相同)输入生成器,它就应该输出生成的图像


  • 非常感谢你的帮助。我唯一的问题是,如何使用新的随机输入种子从经过训练的生成器模型生成新的经过训练的图像。我不太确定那会是什么样子。我希望你能帮上忙。你可以用1的第一部分。问题代码:
    noise=tf.random.normal([1,SEED\u SIZE])
    生成一个新的随机种子,
    generated\u image=generator(noise,training=False)
    生成一个新图像,如果你想看到它,可以继续使用
    plt.imshow(generated\u image[0,:,:,:,0])
    谢谢!关于随机种子,如果我有我自己的图像,我可以将我的图片输入到生成器模型中,然后它输出我的更改版本,还是由于随机种子,图片的输入不在我的控制范围内?随机种子是一个数字数组,而不是图像。在这种情况下,您不能将图像馈送到生成器,因为这不是它经过训练要做的。如果你想要一个能做到这一点的模型,你需要寻找一种不同的方法(样式转换可能是其中之一,但这取决于你试图做什么)。我如何从训练过的模型生成一个新的假图像?我不知道如何配置种子等,我希望你能帮助。