『TensorFlow』以GAN为例的神经网络类范式

『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上

『TensorFlow』通过代码理解gan网络_中

一、计算图效果以及实际代码实现

计算图效果

实际模型实现

相关介绍移步我的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生成动漫人物头像_下的更多相关文章

  1. 『TensorFlow』专题汇总

    TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训 ...

  2. 『TensorFlow』滑动平均

    滑动平均会为目标变量维护一个影子变量,影子变量不影响原变量的更新维护,但是在测试或者实际预测过程中(非训练时),使用影子变量代替原变量. 1.滑动平均求解对象初始化 ema = tf.train.Ex ...

  3. 『TensorFlow』模型保存和载入方法汇总

    『TensorFlow』第七弹_保存&载入会话_霸王回马 一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 ...

  4. 『TensorFlow』TFR数据预处理探究以及框架搭建

    一.TFRecord文件书写效率对比(单线程和多线程对比) 1.准备工作 # Author : Hellcat # Time : 18-1-15 ''' import os os.environ[&q ...

  5. 『TensorFlow』SSD源码学习_其一:论文及开源项目文档介绍

    一.论文介绍 读论文系列:Object Detection ECCV2016 SSD 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层feature map 多层feat ...

  6. 『TensorFlow』流程控制

    『PyTorch』第六弹_最小二乘法对比PyTorch和TensorFlow TensorFlow 控制流程操作 TensorFlow 提供了几个操作和类,您可以使用它们来控制操作的执行并向图中添加条 ...

  7. 『TensorFlow』读书笔记_降噪自编码器

    『TensorFlow』降噪自编码器设计  之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Aut ...

  8. 『TensorFlow』梯度优化相关

    tf.trainable_variables可以得到整个模型中所有trainable=True的Variable,也是自由处理梯度的基础 基础梯度操作方法: tf.gradients 用来计算导数.该 ...

  9. 『TensorFlow』命令行参数解析

    argparse很强大,但是我们未必需要使用这么繁杂的东西,TensorFlow自己封装了一个简化版本的解析方式,实际上是对argparse的封装 脚本化调用tensorflow的标准范式: impo ...

随机推荐

  1. 如何发布Maven依赖到中央仓库

    平时我们都是从Maven中央仓库下载依赖,如果我们想发布我们自己写的Maven依赖到中央仓库供别人下载使用应该怎么办?这里以上传自己写的simian-maven-plugin(https://gith ...

  2. UVA12995 Farey Sequence

    UVA12995 Farey Sequence 欧拉函数 同仪仗队那题几乎相同,本质都是求欧拉函数的和 #include<cstdio> #define N 1000000 ],i,j,t ...

  3. 深入JAVA注解之属性注解

    项目目录结构 实体类: package org.guangsoft.annotation.entity; import java.lang.annotation.ElementType; import ...

  4. C#调用托管ocx、dll

    前篇文章是调用非托管,比较复杂,这里是调用托管,很简单[所以在遇到非托管dll时可以通过二次封装成托管的方式,再通过这边文章来使用] 1.注意这是基于COM的ocx或者dll,所以用regsvr32先 ...

  5. github客户端上传代码

    在window下安装github客户端上传代码 第一步:创建Github新账户 第二步:新建仓库 第三步:安装Github shell程序,地址:http://windows.github.com/ ...

  6. Go第二篇之基本语法总结

    Go语言标识符 标识符以字母或下划线开头,大小写敏感 _是特殊标识符,用来忽略结果 Go语言变量的声明 变量(Variable)的功能是存储用户的数据.不同的逻辑有不同的对象类型,也就有不同的变量类型 ...

  7. HDU 6171 Admiral(双向BFS+队列)题解

    思路: 最大步骤有20,直接BFS会超时. 因为知道开始情况和结果所以可以用双向BFS,每个BFS规定最大步骤为10,这样相加肯定小于20.这里要保存每个状态搜索到的最小步骤,用Hash储存.当发现现 ...

  8. newcode wyh的吃鸡(优势队列+BFS)题解

    思路: 要用优势队列,因为有的+2,有的+1,所以队列中的步长是不单调的,所以找到一个答案但不一定最小,所以用优势队列把小的放在队首. 要记录状态,所以开了三维,题目和昨天做的那道小明差不多 vis开 ...

  9. firefox、chrome的DNS缓存清除方法

    通过设置hosts文件可以强制指定域名对应的IP,当修改hosts文件,想要浏览器生效,最直接的方法关闭浏览器后重新开启:如果不想重启浏览器,只需要清空浏览器的DNS缓存即可. 清空DNS缓存在chr ...

  10. POJ 3162 Walking Race(树形dp+单调队列 or 线段树)

    http://poj.org/problem?id=3162 题意:一棵n个节点的树.有一个屌丝爱跑步,跑n天,第i天从第i个节点开始跑步,每次跑到距第i个节点最远的那个节点(产生了n个距离),现在要 ...