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实现的主要内容,如果未能解决你的问题,请参考以下文章

关于灰度图像 DCGAN (Pytorch) 中通道大小的问题

PyTorch-13 生成对抗网络(DCGAN)教程

pytorch模型保存加载与续训练

SRGAN的原理及Pytorch实现

CycleGAN的原理及Pytorch实现

GAN-生成对抗神经网络(Pytorch)-合集GAN-DCGAN-CGAN