【Keras】 基于GAN自动生成动漫头像

快疯了...刚刚差点写完了,电脑突然重启了,还要重新写一遍,吐血啊!!!

最近在学深度学习,了解到了GAN,不得不说,GAN真的是一个神奇的工作。做这个的理由也是因为看了李宏毅老师的课程,这就是其中的一个课后作业——利用GAN生成动漫头像(这个也太酷了吧,燃烧中二之魂~)。

下面放上一些生成结果

因为训练的次数并没有很多,效果看起来还是那么一回事,但是仔细看其实有一些结果就很奇怪了。

这里我是使用的Keras,因为Keras对新手太友好了,非常好上手,看看官方文档就能够很容易的搭建自己的网络了

本文使用的全部代码大概只有170行左右!!!

网上的Keras的例子其实挺多的,但是基本只有作用在mnist数据集,这里我们使用自己的数据集(不知是谁分享的,感谢~),而且使用DCGAN作为网络结构。

点击此处 获得数据集(提取码: 7s9b 数据集有五万多个头像)

点击此处 获取代码 (提取码: 2y75 ) 

本文默认是对GAN和CNN有一定的了解的,只介绍实现过程和代码。如果没有了解过的同学可以看一下我写的

零基础理解NN和CNN

生成式对抗网络系列

一、生成器模型

网络的输入是一个

  • 14
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
好的,以下是对您的问题的回答: 首先,GAN指的是对抗生成网络,是一种由两个神经网络组成的模型:一个生成器和一个判别器。生成器负责生成新的数据样本,而判别器则试图区分出生成生成的样本和真实数据样本之间的差别。 使用Keras构建GAN网络用于手写数字图像生成的步骤大致如下: 1. 准备数据集:需要准备手写数字图像的数据集,并将其分为训练集和测试集。 2. 定义生成器网络:生成器网络通常是一个多层的神经网络,其输入为噪声向量,输出为生成的图像。可以使用Keras的Sequential模型定义生成器网络。 3. 定义判别器网络:判别器网络也是一个多层的神经网络,其输入为图像,输出为一个二元分类结果,代表该图像是真实数据还是生成生成的数据。同样使用Keras的Sequential模型定义判别器网络。 4. 编译GAN网络:将生成器和判别器组合起来形成一个GAN网络。编译GAN网络时需要注意的一点是,对于生成器而言,其误差评估的对象为GAN网络输出的结果,而非生成器的输出结果。 5. 训练GAN网络:将训练集输入生成器网络中进行训练,通过GAN网络在生成图像和判别真实图像之间不断博弈,从而使得生成器不断优化生成效果。训练GAN网络的过程中需要注意的一点是,由于GAN网络的训练目标是非常复杂的,因此需要进行较长时间的训练。 以上是基于Keras构建GAN网络用于手写数字图像生成的大致步骤。希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值