网站首页 > 开源技术 正文
承接上文CycleGAN
构建缓存区域存储fake数据
输入A数据,经过G AB网络,生成假的B',将这个假的B'保存到缓存区域,等后面使用的时候(将假的B'输入G BA网络进行还原),再从缓存区域拿出来。
定义损失函数
不同的项目选择不同的损失函数,
损失函数就是计算一下,输入数据和经过GAB合成、GBA还原之后输出数据的相似性
定义优化器
接下来就是训练的过程了
从datasets中一个batch一个batch的取数据,需要把所有数据全部都读进来,如果显存比较低的情况下,执行这一步就error memory了。
计算当前迭代了多少次
指定数据集
把实际的数据指定好,
这一步是真正做损失计算的过程了,
forword 前向传播
前向传播就是把数据输入到生成网络中,生成一个虚假的结果,再把虚假的结果进行还原的过程。
- 第一个是将实际的A传入GAB网络得到假的B
- 第二个是将假的B传入GBA网络得到还原的A(真实A和还原A做loss计算相似性)
- 第三个是将真实的B传入GBA网络得到假的A
- 第四个是将假的A传入GAB网络得到还原的B(真实B和还原B做loss计算相似性)
当训练生成器的时候,需要做一个限制:只训练生成器,判决器不工作,把DA和DB的梯度设置为false即现在不需要判决器更新了,只更新生成器的结果。
接下来是计算反向传播
加了一些权重参数,主要是让数值展示起来更直接,把数值进行放大,相当于把实际的损失值放大了10倍。
将真实的B传入GAB网络生成假的A,计算真实B和假的A之间的损失值,两者的差异越小越好。希望GAB一方面能生成假的B,另一方面也能识别出真实的B。
把生成器生成的假的B传入判决器让它去瞒过判决器
判决器得到N x N的矩阵,那得到的标签也是N x N的
预测结果和真实标签计算损失值
计算真实值和还原值之间的差异
逐个去算它们之间的差异有多大,然后进行累加的到一个损失值
这是把判决器的梯度值设置为true,计算判决器的损失,
对于判决器来说把真实值预测成真实的,
把生成数据预测成假的
计算真实损失值和假的损失值的平均值
安装visdom
修改server.py
安装visdom需要从外网下载资源包,这里注释掉下载的过程
随着迭代的进行,不断的画图
猜你喜欢
- 2024-09-12 什么?AI黑白图像能够自动上色?(ai怎么黑白化图片)
- 2024-09-12 学习GAN模型量化评价,先从掌握FID开始吧
- 2024-09-12 GANs有嘻哈:一次学完10个GANs明星模型(附视频)
- 2024-09-12 基于CSLS-CycleGAN的侧扫声纳水下目标图像样本扩增法
- 2024-09-12 用AI变16岁女孩,抓住40岁违法警察!20岁大学生钓鱼执法秀翻美国
- 2024-09-12 GANs笔记(1) - 初步了解 GANs(gan+sic)
- 2024-09-12 深度学习中的奇怪循环 你知道几个?
- 2024-09-12 一文看懂 GAN 演进图谱(原始社会的解体和阶级社会的演进)
- 2024-09-12 我有个大胆的想法,用风格迁移玩《绝地》版的《堡垒之夜》
- 2024-09-12 看完立刻理解GAN!初学者也没关系(初学这个词是什么意思)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)