DCGAN的原理及Pytorch实现
Posted Rogn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DCGAN的原理及Pytorch实现相关的知识,希望对你有一定的参考价值。
follow this video: https://www.youtube.com/watch?v=IZtv9s_Wx9I
paper: https://arxiv.org/pdf/1511.06434.pdf
与Simple GAN相比,loss部分是一样的,主要的不同在于结构,从全连接改成卷积。
结构
- 使用指定步长的卷积层代替池化层
- 生成器和判别器中都使用BN
- 移除全连接层
- 生成器除去输出层采用Tanh外,全部使用ReLU作为激活函数
- 判别器所有层都使用LeakyReLU作为激活函数
DCAGN通过以上的改进得到的生成器结构如下:
100 * 1 * 1 -> 3 * 64 * 64
判别器结构:
3 * 64 * 64 -> 1 * 1 * 1
实现
先弄清楚 PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
完整代码 https://github.com/growvv/GAN-Pytorch/tree/main/DCGAN
以上是关于DCGAN的原理及Pytorch实现的主要内容,如果未能解决你的问题,请参考以下文章