使用残差网络与wgan制作二次元人物头像:训练过程详解
Posted dlage
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用残差网络与wgan制作二次元人物头像:训练过程详解相关的知识,希望对你有一定的参考价值。
训练过程详解:
项目地址:https://github.com/dlagez/gan_resnet
我们进入到代码中解析
首先这个网络由三部分文件组成。一个train,一个model,一个loss。
整体的文件布局:
设置debug
使用debug来详细查看网络运行的情况。如下设置即可进行debug
打断点
只需要在这几个地方打上断点即可查看网络运行的流程:
一批次的图像
前面的参数调式的时候查看一下就行,这里有几个重要的参数需要记录一下。
imgs = (8, 3, 64, 64)
把这一批次的图像送进D网络,D网络会输出一个二维的数组。
D网络
表示一个批次有8张64*64的RGB图像。这八张图像经过D网络之后就变成了8行一列的二维数组了。里面具体的流程是怎么样的看下一篇笔记。
G网络
noise = torch.randn(opt.batchSize, opt.nz)
noise = noise.to(device)
fake = netG(noise) # 生成假图
这里是使用了batchSize
生成了一个批量的噪声。一个nz
(噪声)如下图所示,是一个一维、含有100个点的噪声,我们生成八个噪声丢进G
网络,G
网络就会生成对应的八张图片(fake),每张图片的大小为3*64*64
。
更新参数
lossD = criterion(outputreal, outputfake)
lossD.backward()
optimizerD.step()
fake
与真实图片丢进D网络得到的数组outputfake,outputreal
。损失函数使用他们进行梯度的更新。
推荐阅读:link
以上是关于使用残差网络与wgan制作二次元人物头像:训练过程详解的主要内容,如果未能解决你的问题,请参考以下文章
Github|教你用PyTorch打造专属GAN二次元头像(附源代码)