『TensorFlow』DCGAN生成动漫人物头像_下

『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开始的输出以及最后的的一张输出,以供参考:

 

posted @ 2018-02-02 15:31  叠加态的猫  阅读(3870)  评论(0编辑  收藏  举报