Update README.md
| 第三届计图挑战赛
用户随机ID:14178951416663
result:
本项目包含了第三届计图挑战赛计图 - 手写数字生成赛题的代码实现和结果。
本项目的特点是: 在数字图片数据集 MNIST 上训练 Conditional GAN(Conditional generative adversarial nets)模型,通过输入一个随机向量 z 和额外的辅助信息 y (如类别标签),生成特定数字的图像。因此我们训练了一个将随机噪声和类别标签映射为数字图片的Conditiona1GAN模型,并生成给定用户随机ID 14178951416663 对应的数字图片结果。
本项目在 1 张 2080 上运行,训练时间约为 6 小时。
预训练模型模型下载地址为https://www.gitlink.org.cn/Ground-Truth/minist/tree/master。
## 训练 # ----------------- # 训练生成器 # ----------------- # 采样随机噪声和数字类别作为生成器输入 z = jt.array(np.random.normal(0, 1, (batch_size, opt.latent_dim))).float32() gen_labels = jt.array(np.random.randint(0, opt.n_classes, batch_size)).float32() # 生成一组图片 gen_imgs = generator(z, gen_labels) # 损失函数衡量生成器欺骗判别器的能力,即希望判别器将生成图片分类为valid validity = discriminator(gen_imgs, gen_labels) g_loss = adversarial_loss(validity, valid) g_loss.sync() optimizer_G.step(g_loss) # --------------------- # 训练判别器 # --------------------- validity_real = discriminator(real_imgs, labels) d_real_loss = adversarial_loss(validity_real,valid)#"""计算真实类别的损失函数""" validity_fake = discriminator(gen_imgs.stop_grad(), gen_labels) d_fake_loss = adversarial_loss(validity_fake,fake)#""" 计算虚假类别的损失函数""" # 总的判别器损失 d_loss = (d_real_loss + d_fake_loss) / 2 d_loss.sync() optimizer_D.step(d_loss) ## 推理 将用户随机ID:14178951416663 作为训练好的模型输入看是否生成与随机ID排序一样的手写数字图片.执行以下代码: number = "14178951416663"#TODO: 写入比赛页面中指定的数字序列(字符串类型) n_row = len(number) z = jt.array(np.random.normal(0, 1, (n_row, opt.latent_dim))).float32().stop_grad() labels = jt.array(np.array([int(number[num]) for num in range(n_row)])).float32().stop_grad() gen_imgs = generator(z,labels) 结果显示: img_array = gen_imgs.data.transpose((1,2,0,3))[0].reshape((gen_imgs.shape[2], -1)) min_=img_array.min() max_=img_array.max() img_array=(img_array-min_)/(max_-min_)*255 Image.fromarray(np.uint8(img_array)).save("result.png") ## 致谢 此项目基于论文 *A Style-Based Generator Architecture for Generative Adversarial Networks* 实现,部分代码参考了 [jittor-gan](https://github.com/Jittor/gan-jittor)。
ground truth
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
| 第三届计图挑战赛
Jittor 手写数字生成赛题
用户随机ID:14178951416663
result:
简介
本项目包含了第三届计图挑战赛计图 - 手写数字生成赛题的代码实现和结果。
本项目的特点是: 在数字图片数据集 MNIST 上训练 Conditional GAN(Conditional generative adversarial nets)模型,通过输入一个随机向量 z 和额外的辅助信息 y (如类别标签),生成特定数字的图像。因此我们训练了一个将随机噪声和类别标签映射为数字图片的Conditiona1GAN模型,并生成给定用户随机ID 14178951416663 对应的数字图片结果。
安装
本项目在 1 张 2080 上运行,训练时间约为 6 小时。
运行环境
预训练模型
预训练模型模型下载地址为https://www.gitlink.org.cn/Ground-Truth/minist/tree/master。