目录
1.了解DCGAN
2.本文DCGAN网络模型结构
(1)生成模型结构
(2)判别模型结构
(3)DCGAN模型结构
3.数据集下载
4.GAN代码实现
5.mainWindow窗口显示生成器生成的图片
拓展
GAN原理及Pytorch框架实现GAN(比较容易理解)
1.了解DCGAN
- 最初的GAN网络主要基于全连接层实现生成器G和判别器D的(上面的连接给出了GAN的基本原理及实现),由于图片的维度比较高,网络参数量巨大,训练的效果不是很优秀。
- DCGAN提出了使用转置卷积(Transpose Convolution)层实现的生成网络,普通卷积层来实现的判别网络,大大降低了网络参数量,同时图片的生成效果也大幅度的提升,展现了GAN模型在图片生成效果上远远超过VAE模型的潜质。
- DCGAN提出了一系列经验性的GAN网络训练技巧,这些技巧在GAN提出之前被证实有利于网络的稳定训练。
2.本文DCGAN网络模型结构
(1)生成模型结构
以深度卷积神经网络作为生成模型,其中以随机噪声作为生成模型的输入,输入向量通过五个反卷积映射为二维的输出图像(RGB)。
![](https://img-blog.csdnimg.cn/43ae3157905346adb6861c5d79345995.png)
gen = Generator()
summary(gen, input_size=(1,100,1,1))
![](https://img-blog.csdnimg.cn/d53f35d95c0243f09ad41f50bc9b6b5f.png)
(2)判别模型结构
同样,以深度卷积神经网络作为生成模型,判别模型结构和生成模型结构相反。
![](https://img-blog.csdnimg.cn/8029a669276e4120b89bb0cd0f25b96d.png)
dis = Discriminator()
summary(dis,input_size=(1,3,64,64))
![](https://img-blog.csdnimg.cn/5e6dbde1a03b48bdb0566e2589f63824.png)
(3)DCGAN模型结构
![](https://img-blog.csdnimg.cn/d932ae0837544967b39f8760776dbf15.png)
3.数据集下载
链接:https://pan.baidu.com/s/1i_VU3aQpLkCx4Z5fhDVKHA
提取码:79y3
4.GAN代码实现
提示:代码放在了Github上,读者自行下载:https://github.com/KeepTryingTo/Pytorch-GAN
![](https://img-blog.csdnimg.cn/c24743971302473cb74f2fb56b4da452.png)
5.mainWindow窗口显示生成器生成的图片
提示:这里编写了一个显示生成器显示图片的程序(mainWindow.py),加载之前训练之后保存的生成器模型,之后可使用该模型进行随机生成图片,如下:
(1)运行mainWindow.py 初始界面如下
![](https://img-blog.csdnimg.cn/124b57003b294c9f81810516f7ac5354.png)
(2)点击生成图片
![](https://img-blog.csdnimg.cn/47c7a445c07644a68141dfdfd0279e8b.png)
![](https://img-blog.csdnimg.cn/916be46e10734e899cf17d5679d4b55a.png)
拓展
pytorch中的detach作用
参考文章:
《TensorFlow深度学习》
《机器学习原理,算法与应用》
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)