位置: 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怎么入门)

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

  • 华为pro20什么时候上市的(华为pro20pro)(华为pro20什么时候出的)

    华为pro20什么时候上市的(华为pro20pro)(华为pro20什么时候出的)

  • 抖音怎么改签名(抖音怎么改签名啊)

    抖音怎么改签名(抖音怎么改签名啊)

  • 抖音怎么取消免密支付方式(抖音怎么取消免费支付设置)

    抖音怎么取消免密支付方式(抖音怎么取消免费支付设置)

  • vivox70pro+地震警报怎么开(vivox7地震预警)

    vivox70pro+地震警报怎么开(vivox7地震预警)

  • 微信图片在电脑上怎么打印出来(微信图片在电脑c盘哪个文件夹)

    微信图片在电脑上怎么打印出来(微信图片在电脑c盘哪个文件夹)

  • iwatch怎么关闭自动调节亮度(iwatch怎么关闭自动锁屏)

    iwatch怎么关闭自动调节亮度(iwatch怎么关闭自动锁屏)

  • 微信仅聊天可以看到朋友圈的吗(微信仅聊天可以看到状态吗)

    微信仅聊天可以看到朋友圈的吗(微信仅聊天可以看到状态吗)

  • 怎么查华为手机什么时候买的(怎么查华为手机是不是正品新机)

    怎么查华为手机什么时候买的(怎么查华为手机是不是正品新机)

  • 微信分组怎么删除(微信分组怎么删除成员名单)

    微信分组怎么删除(微信分组怎么删除成员名单)

  • 支付宝预留手机号怎么改(支付宝预留手机号在哪里)

    支付宝预留手机号怎么改(支付宝预留手机号在哪里)

  • 苹果更新后中间有个圆圈(苹果更新屏幕中间有个点)

    苹果更新后中间有个圆圈(苹果更新屏幕中间有个点)

  • 苹果相机后置黑屏前置正常(苹果相机后置黑屏怎么回事)

    苹果相机后置黑屏前置正常(苹果相机后置黑屏怎么回事)

  • 华为手机微信深夜模式怎么打开(华为手机微信深色模式)

    华为手机微信深夜模式怎么打开(华为手机微信深色模式)

  • 拼多多没交保证金可以提现吗(拼多多没交保证金被三级惩罚还能恢复营业吗)

    拼多多没交保证金可以提现吗(拼多多没交保证金被三级惩罚还能恢复营业吗)

  • 荣耀v30可以开空调吗(荣耀v30pro可不可以开空调)

    荣耀v30可以开空调吗(荣耀v30pro可不可以开空调)

  • 自己的淘宝密码在哪里能知道?(淘宝记住密码)

    自己的淘宝密码在哪里能知道?(淘宝记住密码)

  • ios10不能屏幕录制(iphone屏幕录制不能录视频)

    ios10不能屏幕录制(iphone屏幕录制不能录视频)

  • 淘气值多少享受极速退款(淘气值多少好)

    淘气值多少享受极速退款(淘气值多少好)

  • 为什么soul苹果手机不能下载了(soul为什么不能语音匹配苹果)

    为什么soul苹果手机不能下载了(soul为什么不能语音匹配苹果)

  • 网卡驱动删除怎么恢复(网卡驱动删除了怎么弄)

    网卡驱动删除怎么恢复(网卡驱动删除了怎么弄)

  • 七天网络如何授权(七天网络怎么登录注册授权)

    七天网络如何授权(七天网络怎么登录注册授权)

  • 联通自带wo27s是千兆吗(联通自带的wifi怎么连接无线路由器)

    联通自带wo27s是千兆吗(联通自带的wifi怎么连接无线路由器)

  • 惠普2132打印机使用说明(惠普2132打印机安装教程)

    惠普2132打印机使用说明(惠普2132打印机安装教程)

  • hdmi转vga音频怎么办(hdmi转vga线带音频和不带音频有什么区别)

    hdmi转vga音频怎么办(hdmi转vga线带音频和不带音频有什么区别)

  • 抖音粉丝团是永久的吗(抖音粉丝团有什么用处)

    抖音粉丝团是永久的吗(抖音粉丝团有什么用处)

  • 优酷可以投屏吗(优酷可以投屏吗OPPO)

    优酷可以投屏吗(优酷可以投屏吗OPPO)

  • iwatch4gps能接电话么(iwatchgps可以连接wifi吗)

    iwatch4gps能接电话么(iwatchgps可以连接wifi吗)

  • 个人所得税申报操作流程2023
  • 税务季报利润表的本年累计可以更改吗
  • 光盘税收分类编码是多少
  • 每个月结转损益都有什么科目
  • 为职工支付的补充养老保险计入哪
  • 费用的增加会减值吗
  • 转让技术所得收入怎么计算增值税
  • 研发领用原材料的去向
  • 发放工资比计提工资少了
  • 现金流量表本月数和本年累计数不一致
  • 公司购买东西怎么做分录
  • 工程结算收入要交税吗
  • 个人承包工程如何缴纳个人所得税
  • 未达到起征点销售额会计分录
  • 跨年度多计提的租金怎么冲
  • 冲抵货款销售返利会计分录怎么写?
  • 公司转让税费如何计算
  • 电子发票能报税不
  • 向人力资源公司辞职怎么说
  • 印花税分配比例
  • 不动产融资租赁服务属于租赁服务吗
  • 筹建人员是什么工作
  • 交强险保单被保险人写谁都行?
  • mac怎么连接校园网网线
  • 劳务费和合同如何分配
  • 大型机械拆装
  • 用系统自带命令行安装WIN10
  • 异地工程预缴增值税怎么计算
  • 进程核心栈
  • 事业单位专项资金包括哪些内容
  • 其他应收款未收回会计分录
  • 每月分配利润如何做账
  • 进口付汇业务流程
  • 出口信用保险补贴算不算政府补助
  • php @method
  • 企业购买烟酒可以抵扣吗
  • 最好的ph计
  • 计算机领域划分
  • 成本核算流程及注意事项
  • 未取得合法支付凭据和与本单位无关的收入
  • 供应商退回多余货款账户可以是打款账号吗
  • 网上学电脑哪个软件好
  • 公司境外汇款该怎么处理
  • 计入当期损益的
  • 怎么作废银联在网上银行
  • 企业发生的现金溢余如果无法查明原因
  • mysql存储过程查看权限
  • 工会经费会计分录最新
  • 计提个税和缴纳个税金额不符的原因
  • 什么是试算平衡表,编制试算平衡表时应注意哪些方面
  • 企业管理费用科目有哪些
  • 月度资金预算怎么填
  • 核酸检测费用计入劳动保护费吗
  • 申请到了专利费多少钱
  • 商业汇票的会计核算
  • 收据 和发票
  • 固定资产原价的含义
  • 破产重整期间转让股权
  • mysql爆破字典
  • Vista下WMC不能播放RMVB解决办法
  • windows 2003 r2
  • Win7系统打开设备和打印机里面什么都没有
  • XP系统怎么设置屏幕常亮
  • win10启动很慢怎么办
  • mysqld-nt.exe - mysqld-nt是什么进程 有什么用
  • win7怎么保留文件升级到win10系统
  • win7系统笔记本怎么调节电脑亮度
  • win10系统微软账户密码忘了
  • linux小技巧
  • win7系统英雄联盟黑屏
  • linux计划任务每天九点
  • html页面头部
  • rgb与yuv哪个好
  • 利用python绘图
  • bootstrap按钮图标
  • 沈阳地方税务局原局长
  • 陕西国家税务总局官网登录入口
  • 江苏电子税务局登录入口
  • 个人所得税怎么退税
  • 如何加强木材加工质量
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设