1 有用
1 下载

基于DCGAN生成动漫人物头像

文件列表(压缩包大小 1.45M)

免费

概述

目录介绍

TFR_process.py:TFRecode数据生成以及处理脚本 ops.py:层封装脚本 DCGAN_class.py:使用类的方式实现DC_GAN,因为是重点所以代码中转换了详细的注释 DCGAN_function.py:使用函数的方式实现DC_GAN,因为上面的版本受到了开源项目的影响,代码繁杂,这里进行了改写,采用了更为清晰的写法 utils.py:格式化绘图,保存图片函数,开源项目直接找来的 DCGAN_reload.py:利用已经训练好的模型生成一个头像 Data_Set/ cartoon_faces:此处目录下放置头像图片

数据在预先时采用了原始数据除以127.5的1的操作,从而使输出值保持在-1 〜1之间,这样配合sigmoid激活函数可以很好的模拟学习

实验步骤

先运行产生TFR_process.pyTFRecord数据: python TFR_process.py 本部分涉及参量如下(位于TFR_process.py的起始位置):

#定义每个TFR文件中加入了多少条数据
INSTANCES_PER_SHARD  =  10000 
#图片文件放置路径
IMAGE_PATH  =  './Data_Set/cartoon_faces' 
#图片文件和标签清单保存文件
IMAGE_LABEL_LIST  =  'images _&_ labels.txt' 
#TFR文件存储路径
TFR_PATH  =  './TFRecord_Output'

然后再运行DC_GAN.py使用前面的数据训练

DC_GAN,
python DCGAN_class.py

或者

python DCGAN_function.py

这些参量的设置也放在了TFR_process.py中,

#TFR保存图像尺寸
IMAGE_HEIGHT  =  48 
IMAGE_WIDTH  =  IMAGE_HEIGHT 
IMAGE_DEPTH  =  3 
#训练批处理尺寸
BATCH_SIZE  =  64

数据读取函数batch_from_tfr位于此文件中,该函数可以设置重定向网络的图片大小。 已经训练好模型了的话如下操作,

python  DCGAN_reload。py

即可直接生成一个图像。

生成器

相关参量, 噪声向量z维度:100 标签向量y维度:10(如果有的话) 生成器features控制参量gf标量值:64 生成器features控制参量gfc标量值:1024

无标签训练, 100 -线性层-> 44864 -转置卷积-> 4,4,864 -转置卷积-> 8,8,464 -转置卷积-> 16,16,264 -转置卷积-> 32,32,64 -转置卷积-> 64,64,3

含标签训练,所谓的concat实际就是features和y进行拼接, 新参量: z=110,yb = 1,1,10

110 -线性层->

1024 -concat->

1034 -线性层->

16162*64 -reshape->

16,16,128 -concat->

16,16,138 -转置卷积->

32,32,128 -concat->

32,32,138 -转置卷积->

64,64,3

判别器

相关参量, 图片维度:64,64,3 标签向量y维度:10(如果有的话) 生成器features控制参量df标量值:64 生成器features控制参量dfc标量值:1024

无标签训练, 64,64,3 -conv-> 32,32,64 -conv-> 16,16,642 -conv-> 8,8,644 -conv-> 4,4,648 -reshape-> 44648 -线性层-> 1

含标签训练 新参量: x = 64,64,13,yb = 1,1,10

64,64,13 -conv-> 32,32,13 -concat->

32,32,23 -conv->

16,16,74 -reshape->

161674 -concat->

161674+10 -线性层->

1024 -concat->

1034 -线性层-> 1

结果

生成器损失

判别器real损失

判别器fake损失

判别器总损失

从训练过程中来看,经历了初期的下降之后,几个loss值均会在波动中维持一个动态平衡,而GAN的loss值并不能直接反应训练结果,所以需要直接看输出图。

转载自:https://github.com/Hellcatzm/DCGAN_TensorFlow https://www.cnblogs.com/hellcat/p/8340491.html

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(0)

0/250