学习GAN(对抗式生成网络)已经半年了,谈一下自己如何写一个GAN的程序:
一个GAN程序主要包括以下几个部分:
第一生成模型: 在生成模型之中我们要关注生成器输入的参数的形状是什么,中间参数的shape怎么变化的,以及生成器输出的形状是什么
第二识别模型:同样在识别器中,我们要关注识别器中输入的参数有哪些,中间参数的shape怎么变化的,最后识别器输出的形状是什么
第三如何定义loss 函数:个人感觉GAN之间的不同之处就在于不同的loss函数,其决定生成器和识别器中的参数的方向,
第四如何加载数据集:加载的数据集形状一定要和定义的占位符一样, 有编程能力的可以多练习练习。
所以无论是自己写代码还是看代码 永远要关注这几个部分‘’
不说其他的话了,展示以下Condition GAN生成图像的形状吧, 就展示两个没有GPU训练太慢了
![](https://img-blog.csdnimg.cn/20190128210707882.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNzc2Nzgx,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20190128210832283.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNzc2Nzgx,size_16,color_FFFFFF,t_70)