基于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
从训练过程中来看,经历了初期的下降之后,几个loss值均会在波动中维持一个动态平衡,而GAN的loss值并不能直接反应训练结果,所以需要直接看输出图。
转载自:https://github.com/Hellcatzm/DCGAN_TensorFlow https://www.cnblogs.com/hellcat/p/8340491.html
如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈
评论(0)