自学内容网 自学内容网

昇思25天学习打卡营第18天|munger85

DCGAN生成漫画头像

首先肯定是下载训练数据,而这些训练数据就是一些卡通头像。后来我们会看到这个具体的头像
在这里插入图片描述就像其他的数据集目录一样,它是由一些目录和这个目录下面的文件组成的数据集。
在这里插入图片描述有相当多的图片。所以可以训练出来比较好的效果。在这里插入图片描述
图片的处理常规操作。一般就是缩减一下,缩小一下大小。中央部分的裁剪,通道的变化。
在这里插入图片描述
在这里插入图片描述可见都是一些很小的头像图片。
根据论文得到的gen nn的结构如下
在这里插入图片描述
判别器的结构如下
在这里插入图片描述

定义损失函数

adversarial_loss = nn.BCELoss(reduction=‘mean’)
当然再配上2 优化器
1是D,1是G
定义D和G的forward
在这里插入图片描述
在这里插入图片描述
就是运用前面的正向得到的loss,再给优化器去优化
ms.jit会编译代码为机器码,加速的
开始真正的训练启动这种模型训练的还比较快。不知道是不是网络的关系?
在这里插入图片描述
画个图看看D和G的loss
在这里插入图片描述
loss都变小
在这里插入图片描述
img = np.clip(np.concatenate((images[:]), axis=0), 0, 1) 这段代码只是将图片里面图片进行一个叠加,然后再把值限定在0,1,小于0的是0,大于1的是1。
1 image shape is
在这里插入图片描述把0纬度的东西,就是图片取出来放到一起,就是把所有图片都放一起了。而clip的意思是裁剪,把超过0,1的值变成0,1之间。好像裁剪一样,像我前面说的那样。

ani = animation.ArtistAnimation(fig, show_list, interval=1000, repeat_delay=1000, blit=True)
ani.save(‘./dcgan.gif’, writer=‘pillow’, fps=1)
可以把静态图片变成gif动图,看到质量越来越高了。
请添加图片描述


原文地址:https://blog.csdn.net/sinat_41803770/article/details/140591084

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!