Conditional GAN(条件生成对抗网络)
这是一个基于Jittor框架的简单的条件生成对抗网络(CGAN)实现,包括一个生成器和一个判别器,通过对抗训练的方式使得生成器可以生成逼真的样本,而判别器可以准确地区分真实样本和生成样本。
文件结构
CGAN.py
:包含完整的GAN实现代码,运行后会生成如下文件
generator_last.pkl
: 存储最后训练完成的生成器模型。
discriminator_last.pkl
: 存储最后训练完成的判别器模型。
- 训练过程中保存的图片和最终的结果
result.png
。使用说明
环境要求
- Jittor 提供了三种安装方法:docker,pip 和
手动安装,具体安装教程请参考:
https://cg.cs.tsinghua.edu.cn/jittor/download/
运行示例
python CGAN.py
参数说明
--n_epochs
: 训练的总epoch数,默认为100。
--batch_size
: 每个批次的样本数,默认为64。
--lr
: Adam优化器的学习率,默认为0.0002。
--b1
: Adam优化器的beta1参数,默认为0.5。
--b2
: Adam优化器的beta2参数,默认为0.999。
--latent_dim
: 潜在空间的维度,默认为100。
--n_classes
: 数据集的类别数,默认为10。
--img_size
: 生成图片的大小,默认为32x32。
--channels
: 图片的通道数,默认为1。
--sample_interval
: 每隔多少个batch保存一次生成的图片,默认为1000。输出结果
- 训练过程中会输出每个epoch的判别器和生成器的损失,并且每隔一定的间隔会保存生成的图片。训练完成后,会生成一个名为result.png的图片,其中包含了根据给定数字序列生成的图片。
数据集
注意事项
- 训练过程可能需要较长时间,可以根据需要调整epoch数和batch size等参数。
- 可以尝试调整生成器和判别器的网络结构以及损失函数等参数,以获得更好的生成效果。
Conditional GAN(条件生成对抗网络)
这是一个基于Jittor框架的简单的条件生成对抗网络(CGAN)实现,包括一个生成器和一个判别器,通过对抗训练的方式使得生成器可以生成逼真的样本,而判别器可以准确地区分真实样本和生成样本。
文件结构
CGAN.py
:包含完整的GAN实现代码,运行后会生成如下文件generator_last.pkl
: 存储最后训练完成的生成器模型。discriminator_last.pkl
: 存储最后训练完成的判别器模型。result.png
。使用说明
环境要求
运行示例
参数说明
--n_epochs
: 训练的总epoch数,默认为100。--batch_size
: 每个批次的样本数,默认为64。--lr
: Adam优化器的学习率,默认为0.0002。--b1
: Adam优化器的beta1参数,默认为0.5。--b2
: Adam优化器的beta2参数,默认为0.999。--latent_dim
: 潜在空间的维度,默认为100。--n_classes
: 数据集的类别数,默认为10。--img_size
: 生成图片的大小,默认为32x32。--channels
: 图片的通道数,默认为1。--sample_interval
: 每隔多少个batch保存一次生成的图片,默认为1000。输出结果
数据集
注意事项