modify readme and add my function model
该项目使用GAN(生成对抗网络)模型来训练生成模型,其中包括生成器generator与判别器discriminator。在本项目中,我们记合成图片为第0类,真实图片为第1类。
对于生成器G而言,我们输入一个随机向量z,希望生成的假图片G(z)能够“以假乱真”,骗过判别器D的检测。
因此,我们定义生成器G的损失函数为:LG=(1−D(G(z,y2),y2))2L_G=(1-D(G(z,y_2),y_2))^2LG=(1−D(G(z,y2),y2))2,并希望通过训练来最小化这个损失函数。
对于判别器D而言,我们希望区分一个输入的图片是来自于真实的图片x还是来自G生成的假图片G(z)。
因此,我们定义判别器D的损失函数为:LD=12((D(G(z,y2),y2)2+(1−D(x,y1)2)))L_D=\frac{1}{2}((D(G(z,y_2),y_2)^2+(1-D(x,y_1)^2)))LD=21((D(G(z,y2),y2)2+(1−D(x,y1)2))),并希望通过训练来最小化这个损失函数。
在CGAN.py文件中,首先会经过100轮的训练过程,每轮输入为938张图片,对生成器与判别器的相关参数进行训练。每训练1000张图片都会在当前目录下产生一张名为[num].png[num].png[num].png的图片,其中numnumnum代表当前已经训练的图片数目,且为1000的倍数。随着训练过程的进行,可以明显的看到图片中数字变得愈发清晰。在100轮训练完毕后,程序会在当前目录下产生一张名为result.pngresult.pngresult.png的图片,其中的数字即为用户在程序中自己设定的numbernumbernumber值。
若想看程序生成图片的效果,可以点击这里。其中imageimageimage文件夹下存放的为在训练过程中生成的全部图片,而result.pngresult.pngresult.png所展示的即为我在该程序中生成的numbernumbernumber效果。
首先需要确保环境中安装了jittor库。如果还没有,请点击这里,找到与自己的环境相匹配的并进行安装。
在安装过程无误后,进入CGAN.py所在目录下,编辑CGAN.py文件,将其中的number改为自己想要生成的数字串。之后在命令行中运行python CGAN.py (linux用户可能需要运行python3 CGAN.py),在经过漫长的等待后即可在目录下的result.pngresult.pngresult.png文件中看到自己所想要生成的数字串。
A Jittor implementation of Conditional GAN (CGAN)
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
Readme
一 项目功能
1 项目功能简介
该项目使用GAN(生成对抗网络)模型来训练生成模型,其中包括生成器generator与判别器discriminator。在本项目中,我们记合成图片为第0类,真实图片为第1类。
对于生成器G而言,我们输入一个随机向量z,希望生成的假图片G(z)能够“以假乱真”,骗过判别器D的检测。
因此,我们定义生成器G的损失函数为:LG=(1−D(G(z,y2),y2))2,并希望通过训练来最小化这个损失函数。
对于判别器D而言,我们希望区分一个输入的图片是来自于真实的图片x还是来自G生成的假图片G(z)。
因此,我们定义判别器D的损失函数为:LD=21((D(G(z,y2),y2)2+(1−D(x,y1)2))),并希望通过训练来最小化这个损失函数。
2 项目流程&效果简介
在CGAN.py文件中,首先会经过100轮的训练过程,每轮输入为938张图片,对生成器与判别器的相关参数进行训练。每训练1000张图片都会在当前目录下产生一张名为[num].png的图片,其中num代表当前已经训练的图片数目,且为1000的倍数。随着训练过程的进行,可以明显的看到图片中数字变得愈发清晰。在100轮训练完毕后,程序会在当前目录下产生一张名为result.png的图片,其中的数字即为用户在程序中自己设定的number值。
若想看程序生成图片的效果,可以点击这里。其中image文件夹下存放的为在训练过程中生成的全部图片,而result.png所展示的即为我在该程序中生成的number效果。
二 使用方式
首先需要确保环境中安装了jittor库。如果还没有,请点击这里,找到与自己的环境相匹配的并进行安装。
在安装过程无误后,进入CGAN.py所在目录下,编辑CGAN.py文件,将其中的number改为自己想要生成的数字串。之后在命令行中运行python CGAN.py (linux用户可能需要运行python3 CGAN.py),在经过漫长的等待后即可在目录下的result.png文件中看到自己所想要生成的数字串。