『TensorFlow』DCGAN生成动漫人物头像_下
『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上
一、计算图效果以及实际代码实现
计算图效果

实际模型实现
相关介绍移步我的github项目。
二、生成器与判别器设计
生成器
相关参量,
噪声向量z维度:100
标签向量y维度:10(如果有的话)
生成器features控制参量gf标量值:64
生成器features控制参量gfc标量值:1024
无标签训练,
100 -线性层->
4*4*8*64 -转置卷积-> 4,4,8*64 -转置卷积-> 8,8,4*64 -转置卷积-> 16,16,2*64 -转置卷积-> 32,32,64 -转置卷积->
64,64,3
含标签训练,所谓的concat实际就是把features和y进行拼接,
新参量:
z=110,yb = 1,1,10
110 -线性层->
1024 -concat->
1034 -线性层->
16*16*2*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,64*2 -conv-> 8,8,64*4 -conv->
4,4,64*8 -reshape->
4*4*64*8 -线性层-> 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->
16*16*74 -concat->
16*16*74+10 -线性层->
1024 -concat->
1034 -线性层-> 1
三、结果查看
生成器损失

判别器real损失

判别器fake损失

判别器总损失

从训练过程中来看,经历了初期的下降之后,几个loss值均会在波动中维持一个动态平衡,而GAN的loss值并不能直接反应训练结果,所以我们需要直接看输出图。
本次实验中一功运行了23个epoch,这里给出每个epoch开始的输出以及最后的的一张输出,以供参考:








『TensorFlow』DCGAN生成动漫人物头像_下的更多相关文章
- 『TensorFlow』专题汇总
TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训 ...
- 『TensorFlow』滑动平均
滑动平均会为目标变量维护一个影子变量,影子变量不影响原变量的更新维护,但是在测试或者实际预测过程中(非训练时),使用影子变量代替原变量. 1.滑动平均求解对象初始化 ema = tf.train.Ex ...
- 『TensorFlow』模型保存和载入方法汇总
『TensorFlow』第七弹_保存&载入会话_霸王回马 一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 ...
- 『TensorFlow』TFR数据预处理探究以及框架搭建
一.TFRecord文件书写效率对比(单线程和多线程对比) 1.准备工作 # Author : Hellcat # Time : 18-1-15 ''' import os os.environ[&q ...
- 『TensorFlow』SSD源码学习_其一:论文及开源项目文档介绍
一.论文介绍 读论文系列:Object Detection ECCV2016 SSD 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层feature map 多层feat ...
- 『TensorFlow』流程控制
『PyTorch』第六弹_最小二乘法对比PyTorch和TensorFlow TensorFlow 控制流程操作 TensorFlow 提供了几个操作和类,您可以使用它们来控制操作的执行并向图中添加条 ...
- 『TensorFlow』读书笔记_降噪自编码器
『TensorFlow』降噪自编码器设计 之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Aut ...
- 『TensorFlow』梯度优化相关
tf.trainable_variables可以得到整个模型中所有trainable=True的Variable,也是自由处理梯度的基础 基础梯度操作方法: tf.gradients 用来计算导数.该 ...
- 『TensorFlow』命令行参数解析
argparse很强大,但是我们未必需要使用这么繁杂的东西,TensorFlow自己封装了一个简化版本的解析方式,实际上是对argparse的封装 脚本化调用tensorflow的标准范式: impo ...
随机推荐
- git仓库按时间、成员等维度分析统计
git 按时间打印所有成员代码提交: git log --since ==2018-01-01 --until=2018-12-31 --format='%aN' | sort -u | while ...
- clock_gettime接口和linux时间系统
RTC/OSCRTC,Real Time Clock,真实时钟,也叫做CMOS时钟,又叫walltimeOSC,Operation System Clock,系统时钟.在开机时操作系统取得RTC中的时 ...
- 0-5v转0-20ma和0-5v转4-20ma
0-5v转0-20ma 0-5v转4-20ma
- python模块-json、pickle、shelve
json模块 用于文件处理时其他数据类型与js字符串之间转换.在将其他数据类型转换为js字符串时(dump方法),首先将前者内部所有的单引号变为双引号,再整体加上引号(单或双)转换为js字符串:再使用 ...
- ~/.bashrc文件写错, 导致Linux全部命令丢失
问题 今天写bashrc文件的时候, 不小心把PATH结尾带错了,当时不知道,直接就source了, 后来出来的时候发现命令全部提示找不到了... 解决 重新赋予环境变量PATH就行 export P ...
- 20145220韩旭飞《网络对抗》实验九:web安全基础实践
基础问答 (1)SQL注入攻击原理,如何防御 原理:把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串. 防御: 利用输入规则限制进行防御,不允许特殊字符输入 (2)XSS攻击的原理,如 ...
- 20145302张薇 《网络对抗技术》 web安全基础实践
20145302张薇 <网络对抗技术> web安全基础实践 实验问题回答 1.SQL注入攻击原理,如何防御 原理:攻击者把SQL命令插入到网页的各种查询字符串处,达到欺骗服务器执行恶意的S ...
- 误把Linux运行级别设置为6后的解决方法【转】
本文转载自:http://www.wuji8.com/meta/841011126.html 误把Linux运行级别设置为6后的解决方法 我们知道,Linux有7个运行级别,而运行级别设置为6 ...
- HDU1043 Eight(八数码:逆向BFS打表+康托展开)题解
Eight Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- 【第十三章】 springboot + lombok
lombok作用:消除模板代码. getter.setter.构造器.toString().equals() 便捷的生成比较复杂的代码,例如一个POJO要转化成构建器模式的形式,只需要一个注解. 注意 ...