使用Jittor实现CGAN,合成手写体的个人手机号码
项目简介
利用课程提供的jittor代码框架实现Conditional GAN模型,训练后用生成器根据输入的特定序列number生成图片。
Conditional GAN原理:
GAN即Generative Adversarial Nets,通过输入的随机向量z用生成器G生成图像G(z),判别器D则用于将真实图像与合成图像区分开。
Conditional GAN(CGAN)通过添加显式的条件或标签,来控制生成的图像。在生成器 generator 和判别器 discriminator 中添加相同的额外信息 y,GAN 就可以扩展为一个 conditional 模型。y 可以是任何形式的辅助信息,例如类别标签或者其他形式的数据。我们可以通过将 y 作为额外输入层,添加到生成器和判别器来完成条件控制。
CGAN的损失函数为:
判别器:$L_D = \frac12((D(G(z,y_2),y_2)^2)+(1-D(x,y_1)^2))$
生成器:$L_G = (1-D(G(z,y_2),y_2))^2$
执行命令
在根目录下执行python cgan.py
使用Jittor实现CGAN,合成手写体的个人手机号码
项目简介
利用课程提供的jittor代码框架实现Conditional GAN模型,训练后用生成器根据输入的特定序列number生成图片。
Conditional GAN原理:
GAN即Generative Adversarial Nets,通过输入的随机向量z用生成器G生成图像G(z),判别器D则用于将真实图像与合成图像区分开。 Conditional GAN(CGAN)通过添加显式的条件或标签,来控制生成的图像。在生成器 generator 和判别器 discriminator 中添加相同的额外信息 y,GAN 就可以扩展为一个 conditional 模型。y 可以是任何形式的辅助信息,例如类别标签或者其他形式的数据。我们可以通过将 y 作为额外输入层,添加到生成器和判别器来完成条件控制。 CGAN的损失函数为: 判别器:$L_D = \frac12((D(G(z,y_2),y_2)^2)+(1-D(x,y_1)^2))$ 生成器:$L_G = (1-D(G(z,y_2),y_2))^2$
执行命令
在根目录下执行
python cgan.py