基于DCGAN的动漫头像生成神经网络实现

本文介绍了基于DCGAN的动漫头像生成神经网络实现,讲解了DCGAN、转置卷积和Batch Normalization的概念,并提供了TensorFlow实现的实战步骤,包括训练数据处理、生成器和判别器的构建以及模型训练。
摘要由CSDN通过智能技术生成

一、前言

1、什么是DCGAN?

2、DCGAN的TensorFlow实现

3、什么是转置卷积?

4、转置卷积的Tensorflow实现

5、Batch Normalization解读

本文假设读者已经了解GAN及CNN的基本原理实现,如不清楚可参考以下文章:

基于GAN的的mnist训练集图片生成神经网络实现

基于CNN的验证码识别神经网络实现

二、实战

1、训练数据处理

(1)数据源:百度云盘 提取码:g5qa

(2)创建一个生成器

class Avatar:

    def __init__(self):
        self.data_name = 'faces'
        self.source_shape = (96, 96, 3)
        self.resize_shape = (48, 48, 3)
        self.crop = True
        self.img_shape = self.source_shape if not self.crop else self.resize_shape
        self.img_list = self._get_img_list()
        self.batch_size = 64
        self.batch_shape = (self.batch_size, ) + self.img_shape
        self.chunk_size = len(self.img_list) // self.batch_size

    def _get_img_list(self):
        path = os.path.join(os.getcwd(), self.data_name, '*.jpg')
        return glob(path)

    def _get_img(self, name):
        assert name in self.img_list
        img = scipy.misc.imread(name).astype(np.float32)
        assert img.shape == self.source_shape
        return self._resize(img) if self.crop else img

    def _resize(self, img):
        h, w = img.shape[:2]
      
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值