CycleGAN的原理及Pytorch实现
Posted Rogn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CycleGAN的原理及Pytorch实现相关的知识,希望对你有一定的参考价值。
follow this video: https://www.youtube.com/watch?v=4LktBHGCNfw
paper: https://arxiv.org/pdf/1703.10593.pdf
只讲我关注到的,与Pix2Pix的区别之处
区别一:不需要成对匹配的数据
CycleGAN是两个集合的转换,不需要建立元素的一一映射
区别二:增加了cycle-consistency loss
每种loss代表什么实际含义呢?
GAN alone 和 GAN+forward 遭受了模式奔溃, 不管输入什么图片,产生相同的输出。
区别三:增加了identity loss
Lidentity有助于保持和输入图片一样的颜色,没有Lidentity时,生成器G和F会改变输入图片的色调当它们不需要时,例如把早上的图片映射成傍晚的图片,因为这同样满足adversarial loss和cycle consistency loss.
区别四:生成器有residual Blocks
生成器采用残差模块,虽然据说像Pix2Pix一样使用U-Net效果也不错;
识别器还是用PatchGAN,不过论文里输出是70 x 70,我实现上还是用 30 x 30;
完整代码:https://github.com/growvv/GAN-Pytorch/tree/main/CycleGAN
以上是关于CycleGAN的原理及Pytorch实现的主要内容,如果未能解决你的问题,请参考以下文章
[Pytorch系列-65]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 无监督图像生成CycleGan的基本原理
[Pytorch系列-75]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - CycleGAN网络结构与代码实现详解
[Pytorch系列-64]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix : 有监督图像生成pix2pix的基本原理
[Pytorch系列-74]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - pix2pix网络结构与代码实现详解
[Pytorch系列-68]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型测试CycleGAN模型