目录

Readme

一 项目功能

1 项目功能简介

​ 该项目使用GAN(生成对抗网络)模型来训练生成模型,其中包括生成器generator与判别器discriminator。在本项目中,我们记合成图片为第0类,真实图片为第1类。

​ 对于生成器G而言,我们输入一个随机向量z,希望生成的假图片G(z)能够“以假乱真”,骗过判别器D的检测。

​ 因此,我们定义生成器G的损失函数为:LG=(1D(G(z,y2),y2))2L_G=(1-D(G(z,y_2),y_2))^2,并希望通过训练来最小化这个损失函数。

​ 对于判别器D而言,我们希望区分一个输入的图片是来自于真实的图片x还是来自G生成的假图片G(z)。

​ 因此,我们定义判别器D的损失函数为:LD=12((D(G(z,y2),y2)2+(1D(x,y1)2)))L_D=\frac{1}{2}((D(G(z,y_2),y_2)^2+(1-D(x,y_1)^2))),并希望通过训练来最小化这个损失函数。

2 项目流程&效果简介

​ 在CGAN.py文件中,首先会经过100轮的训练过程,每轮输入为938张图片,对生成器与判别器的相关参数进行训练。每训练1000张图片都会在当前目录下产生一张名为[num].png[num].png的图片,其中numnum代表当前已经训练的图片数目,且为1000的倍数。随着训练过程的进行,可以明显的看到图片中数字变得愈发清晰。在100轮训练完毕后,程序会在当前目录下产生一张名为result.pngresult.png的图片,其中的数字即为用户在程序中自己设定的numbernumber值。

​ 若想看程序生成图片的效果,可以点击这里。其中imageimage文件夹下存放的为在训练过程中生成的全部图片,而result.pngresult.png所展示的即为我在该程序中生成的numbernumber效果。

二 使用方式

​ 首先需要确保环境中安装了jittor库。如果还没有,请点击这里,找到与自己的环境相匹配的并进行安装。

​ 在安装过程无误后,进入CGAN.py所在目录下,编辑CGAN.py文件,将其中的number改为自己想要生成的数字串。之后在命令行中运行python CGAN.py (linux用户可能需要运行python3 CGAN.py),在经过漫长的等待后即可在目录下的result.pngresult.png文件中看到自己所想要生成的数字串。

关于

A Jittor implementation of Conditional GAN (CGAN)

32.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号