位置: IT常识 - 正文

【深度学习】pix2pix GAN理论及代码实现与理解

编辑:rootadmin
【深度学习】pix2pix GAN理论及代码实现与理解

推荐整理分享【深度学习】pix2pix GAN理论及代码实现与理解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

灵感:最近也是在看关于GAN方面的代码,也是看到了很多篇博客,都写的挺好的,让我醍醐灌顶,理解了GAN的原理以及代码实现。所以写一下来记载一下,最后有其他好文章的链接。

灵感来源:pix2pixGAN理论以及代码实现

目录

1.什么是pix2pix GAN

2.pix2pixGAN生成器的设计

 3.pix2pixGAN判别器的设计

4.损失函数

5.代码实现 

6.参考文献

1.什么是pix2pix GAN

它实际上就是一个CGAN,条件GAN,不过是改变了一般GAN的辨别器的输出。其他的都是输出一个概率,而pix2pixGAN或者也可以是patchgan,它的最终输出是一个矩阵,每一个块代表一个patch的概率而已。关于patch这一块的知识可以去其他地方补一下,文末也有入口。

 图片x作为此cGAN的条件,需要输入到G和D中。G的输入是x(x是需要转换的图片),输出是生成的图片G(x)。D则需要分辨出(x,G(x))和(x,y)

pix2pixGAN主要用于图像之间的转换,又称图像翻译。

2.pix2pixGAN生成器的设计

对于图像翻译任务来说,输入和输出之间会共享很多信息。比如轮廓信息是共享的。如何解决共享问题?需要我们从损失函数的设计当中去思考。

如果使用普通的卷积神经网络,那么会导致每一层都承载保存着所有的信息。这样神经网络很容易出错(容易丢失一些信息)

所以,我们使用UNet模型作为生成器

 3.pix2pixGAN判别器的设计

D要输入成对的图像。这类似于cGAN,如果G(x)和x是对应的,对于生成器来说希望判别为1;

【深度学习】pix2pix GAN理论及代码实现与理解

如果G(x)和x不是对应的,对于生成器来说希望判别器判别为0

pix2pixGAN中的D被论文中被实现为patch_D.所谓patch,是指无论生成的图片有多大,将其切分为多个固定大小的patch输入进D去判断。如上图所示。

这样设计的好处是:D的输入变小,计算量小,训练速度快

4.损失函数

D网络损失函数:输入真实的成对图像希望判定为1;输入生成图像与原图希望判定为0

G网络损失函数:输入生成图像与原图像希望判定为1

 对于图像翻译任务而言,G的输入和输出之间其实共享了很多信息。因而为了保证输入图像和输出图像之间的相似度,还加入了L1loss,公式如下所示:

5.代码实现 

代码实现的话有官方以及别人的实现,但是我有点不懂。然后看到这个链接的代码才懂。

全部代码在这:pix2pixGAN理论以及代码实现

我作为笔记记录,写一下我觉得关键的代码理解。

for step,(annos,imgs) in enumerate(dataloader): imgs = imgs.to(device) #imgs 输入的图像 annos = annos.to(device) #标签,真实的应该生成的图片 #定义判别器的损失计算以及优化的过程 d_optimizer.zero_grad() disc_real_output = dis(annos,imgs) #输入真实成对图片 d_real_loss = loss_fn(disc_real_output,torch.ones_like(disc_real_output, device=device)) #上面是为了将我们输入的真实图像对都标为1,希望他接近1,因为真实嘛 d_real_loss.backward() #求梯度 gen_output = gen(annos) #通过输入图像生成图片 disc_gen_output = dis(annos,gen_output.detach()) #将我们输入的和生成的图片输入辨别器 d_fack_loss = loss_fn(disc_gen_output,torch.zeros_like(disc_gen_output, device=device)) #辨别器希望生成的和我们输入的图像最终的判断为0,也就是假的嘛 d_fack_loss.backward() disc_loss = d_real_loss+d_fack_loss#判别器的损失计算,由两个之和 d_optimizer.step() #梯度更新 #定义生成器的损失计算以及优化的过程 g_optimizer.zero_grad() disc_gen_out = dis(annos,gen_output) #辨别器辨别输入图像和生成图像的匹配度 gen_loss_crossentropyloss = loss_fn(disc_gen_out, torch.ones_like(disc_gen_out, device=device)) #生成器和辨别器相反,他希望生成的图像和输入的图像匹配为真实,也就是造假嘛 gen_l1_loss = torch.mean(torch.abs(gen_output-imgs)) #L1损失 gen_loss = gen_loss_crossentropyloss +LAMBDA*gen_l1_loss gen_loss.backward() #反向传播 g_optimizer.step() #优化 #累计每一个批次的loss with torch.no_grad(): D_epoch_loss +=disc_loss.item() G_epoch_loss +=gen_loss.item()上面用到的loss_fn是BCE损失。因为我们的辨别器输出值为概率嘛,0到1,所以算得上是二分类,可以使用BCE。6.参考文献

     GAN系列之 pix2pixGAN 网络原理介绍以及论文解读https://blog.csdn.net/m0_62128864/article/details/124026977

一文看懂PatchGAN_明月几时有.的博客-CSDN博客_patchgan最近看到PatchGAN很是好奇原理是什么,发现网上很多介绍的并不清楚.故墙外墙内来回几次,大概是清楚了.PatchGAN其实指的是GAN的判别器,将判别器换成了全卷积网络.这么说并不严谨,PatchGAN和普通GAN判别器是有区别的,普通的GAN判别器是将输入映射成一个实数,即输入样本为真样本的概率.PatchGAN将输入映射为NxN的patch(矩阵)X,XijX_{ij}Xij​的值代表...https://blog.csdn.net/weixin_35576881/article/details/88058040

pix2pix算法笔记_AI之路的博客-CSDN博客_pix2pix算法论文:Image-to-Image Translation with Conditional Adversarial Networks论文链接:https://arxiv.org/abs/1611.07004代码链接:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix这篇论文发表在CVPR2017,简称pix2pix,是将GAN应用...https://blog.csdn.net/u014380165/article/details/98453672

Pix2Pix-基于GAN的图像翻译_张雨石的博客-CSDN博客_pix2pix算法语言翻译是大家都知道的应用。但图像作为一种交流媒介,也有很多种表达方式,比如灰度图、彩色图、梯度图甚至人的各种标记等。在这些图像之间的转换称之为图像翻译,是一个图像生成任务。多年来,这些任务都需要用不同的模型去生成。在GAN出现之后,这些任务一下子都可以用同一种框架来解决。这个算法的名称叫做Pix2Pix,基于对抗神经网络实现。https://blog.csdn.net/stdcoutzyx/article/details/78820728

本文链接地址:https://www.jiuchutong.com/zhishi/298920.html 转载请保留说明!

上一篇:Pytorch教程入门系列11----模型评估(pytorch怎么入门)

下一篇:前后端分离式交互(前后端分离弊端)

  • 佳能打印机怎么重置wifi(佳能打印机怎么换墨盒)

    佳能打印机怎么重置wifi(佳能打印机怎么换墨盒)

  • xbox手柄能连接switch吗(xbox手柄能连接平板吗)

    xbox手柄能连接switch吗(xbox手柄能连接平板吗)

  • 手机怎么能赚钱(手机怎么能赚钱最快的是什么)

    手机怎么能赚钱(手机怎么能赚钱最快的是什么)

  • 微信扫二维码会不会中毒(微信扫二维码会直接进群吗)

    微信扫二维码会不会中毒(微信扫二维码会直接进群吗)

  • 有的抖音不能保存本地(有的抖音不能保存本地怎么设置)

    有的抖音不能保存本地(有的抖音不能保存本地怎么设置)

  • 微信发什么会掉表情(微信发什么会掉兔子)

    微信发什么会掉表情(微信发什么会掉兔子)

  • 抖音改头像审核多久(抖音改头像审核需要多久)

    抖音改头像审核多久(抖音改头像审核需要多久)

  • qq手机在线说明什么(qq手机在线说明在玩手机吗)

    qq手机在线说明什么(qq手机在线说明在玩手机吗)

  • 手机iso版本是什么意思(手机iso版本是什么意思呀)

    手机iso版本是什么意思(手机iso版本是什么意思呀)

  • 12306乘客信息待核验怎么办(12306乘客信息待核验)

    12306乘客信息待核验怎么办(12306乘客信息待核验)

  • win10启动0xc000000e(win10启动0xc000000f)

    win10启动0xc000000e(win10启动0xc000000f)

  • 二手苹果无面容什么意思(二手苹果无面容能买吗)

    二手苹果无面容什么意思(二手苹果无面容能买吗)

  • 红米mee7是什么型号(红米mee7s参数)

    红米mee7是什么型号(红米mee7s参数)

  • 闪充和快充哪个充电快(闪充和快充哪个快)

    闪充和快充哪个充电快(闪充和快充哪个快)

  • 小米蓝牙耳机充电盒怎么充电(小米蓝牙耳机充不进去电怎么办)

    小米蓝牙耳机充电盒怎么充电(小米蓝牙耳机充不进去电怎么办)

  • 常用的存储器地址空间分配方法(常见的存储器有哪些?各自有什么特点)

    常用的存储器地址空间分配方法(常见的存储器有哪些?各自有什么特点)

  • 对方微信号已被限制登录是什么意思(只知道微信昵称怎么找到对方)

    对方微信号已被限制登录是什么意思(只知道微信昵称怎么找到对方)

  • 判断锂电池保护板坏了(判断锂电池保护板坏了前兆)

    判断锂电池保护板坏了(判断锂电池保护板坏了前兆)

  • 电脑腾讯会议录屏(电脑腾讯会议录制没有声音怎么解决)

    电脑腾讯会议录屏(电脑腾讯会议录制没有声音怎么解决)

  • 电脑切换中英文是哪个键(电脑切换中英文的快捷键修改)

    电脑切换中英文是哪个键(电脑切换中英文的快捷键修改)

  • 华为路由器连接wifi成功但上不了网怎么办(华为路由器连接互联网失败是怎么回事)

    华为路由器连接wifi成功但上不了网怎么办(华为路由器连接互联网失败是怎么回事)

  • mp4格式文件是什么(mp4格式是什么?)

    mp4格式文件是什么(mp4格式是什么?)

  • 抖音突然没有播放量是什么原因?(抖音突然没有播放功能了)

    抖音突然没有播放量是什么原因?(抖音突然没有播放功能了)

  • 淘宝购物可以退换货几次(淘宝购物可以退款不退货吗)

    淘宝购物可以退换货几次(淘宝购物可以退款不退货吗)

  • ps笔刷效果怎么做(ps笔刷用法)

    ps笔刷效果怎么做(ps笔刷用法)

  • wps2019没保存怎么恢复(wps office没保存)

    wps2019没保存怎么恢复(wps office没保存)

  • oppoa9有呼吸灯么(oppoa9x手机的呼吸灯在哪里设置)

    oppoa9有呼吸灯么(oppoa9x手机的呼吸灯在哪里设置)

  • 显卡上怎么看显卡型号(显卡怎么看显存颗粒品牌)

    显卡上怎么看显卡型号(显卡怎么看显存颗粒品牌)

  • 电信volte什么意思(电信volte有什么用)

    电信volte什么意思(电信volte有什么用)

  • 苹果7原彩显示在哪里(苹果7原彩显示没有了)

    苹果7原彩显示在哪里(苹果7原彩显示没有了)

  • pppoe错误是什么意思(pppoe失败691)

    pppoe错误是什么意思(pppoe失败691)

  • 光盘税收分类编码是多少
  • 往来款项包括什么
  • 车票抵扣进项税申报在哪一栏
  • 本年利润结转在贷方表示什么意思
  • 纳税人选择简易办法一经选择
  • 房租发票按季度开具,可以一次性计费用吗
  • 企业发生销售折扣的原因有
  • 借调员工的工资怎么入账
  • 进项税额转出后企业所得税怎么处理?
  • 税务申报零申报怎么操作
  • 装修行业属于什么行业分类
  • 跨区域施工增值税怎么交
  • 公司对公账户可以转私人账户多久到账
  • 计提的电费和支付电费差额如何调整
  • 季度预缴所得税可以弥补以前亏损吗
  • win10运行红色警戒2卡顿
  • 如何在Excel中添加筛选项
  • 自用煤怎么入账
  • 研发产品对外销售研发材料不得加计扣除分录
  • php基础入门
  • 押金未退会计分录
  • 无形资产的确认与计量
  • 预防cpu被烧毁的办法
  • 调入的无形资产记入哪里
  • 企业需要税务登记吗
  • 金融企业的贷款准备金
  • 持有可转换债券的会计分录
  • 计提消费税的会计科目
  • 一朵牛肝菌 (© vnosokin/Getty Images)
  • php实现base64图片上传方式实例代码
  • 一文看懂华为新品发布会
  • php获取文件名称
  • php 数学函数
  • 食堂增值服务有哪些
  • Discus X 3 门户改造熊掌号网页教程
  • 无形资产减值准备可以转回吗
  • 在计算应纳税所得额时,下列支出不得扣除
  • mysql 中文乱码 识别
  • 法人如何网上申请辞职手续
  • 为什么生产成本不属于损益类科目
  • 车辆保险都入什么
  • 教育局可以接受捐赠吗
  • 采用成本法核算的长期股权投资
  • 非营利组织相关论文
  • 同时知识产权专利,其做账是?
  • 以前年度多计提成本怎么处理
  • 机票的抵扣进项税的注意事项
  • 营改增账务处理实例
  • 小规模纳税人转为一般纳税人的流程
  • 教你怎么使用加油机
  • linux/tmp
  • win8ui
  • macbookpro4399小游戏
  • linux特殊权限命令
  • linux命令怎么删除
  • win10预览版和正式版
  • Linux Bash Shell入门教程
  • windows 10预览版
  • windows8快捷键
  • win7怎么连接耳机蓝牙
  • css中dl
  • 求婚表白怎么说怎么写
  • jquery 选中
  • 一个简单的防偷技巧
  • css图片垂直居中对齐
  • js 根据时间排序
  • 批处理提取文件夹中的文件
  • node.js golang
  • android监听app启动
  • 三消游戏攻略
  • jquery 异步请求
  • javascript如何学
  • jquery 异步提交表单
  • jquery入口
  • jQuery模拟select实现下拉菜单功能
  • 怎样把短信转发到微信
  • 农业银行联行号查询系统官网
  • 分类所得税和综合所得税的优缺点
  • 住房公积金交纳的原则
  • 贷款利息扣款日未足额缴纳
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设