pytorch 图像分割的交并比_级联多对抗的LAPGAN(二)pytorch实现
上文“级联别多对抗的LAPGAN(一)原理分析”中对LAPGAN【1】的理论进行了介绍,本文将使用pytorch进行代码实现。由于其采用拉普拉斯金字塔与高斯金字塔结合并需要训练多个GAN网络的方式比较复杂,同时生成图像的质量也远不及当今的GAN网络,所以本文仅仅编写了其网络结构对应的代码,没有进行训练或者测试,其网络整体结构如下:
按照上图所示,需要实现的网络包含4个生成器G0、G1、G2和G3,以及4个判别器D0、D1、D2和D3,下面对其实现进行分析。
一、生成器实现
生成器G3的输入仅有噪声数据,而其余生成器输入既有噪声又有图像,所以G3和其余生成器的实现是不同的,下面分别进行讨论:
1.1 顶层生成器G3
上图并没有给出最顶层输入为噪声数据的生成器(G3)结构图,按照网上的复现版本【2】,输入为噪声数据的网络可以是全连接网络,输入为100维的噪声,输出为8x8x3的图像:
lass
其中初始化参数z_dim表示噪声维度,out_width表示输出图像的长宽。
1.2 生成器G0、G1、G2
在LAPGAN论文的补充材料中提供的结构图如下:
从上图中左边可以看出生成器G的输入是4通道数据,由3个颜色通道(图像)和1个噪声通道组成。生成器G的输出为拉普拉斯金字塔中的一层,表示高分辨率图像和低分辨率图像之间的差异。
除了顶层生成器G3由于输入为噪声数据所以采用全连接以外,其余的生成器均为全卷积网络,采用卷积+激活的方式构建中间各层。激活函数选择ReLU,中间层的通道数为128。其中G2输出图像尺寸为16x16,G1输出图像尺寸为32x32,G3输出图像尺寸为64x64。它们结构相同,以G2为例代码如下:
class
二、判别器实现
判别器D结构如下图所示:
从上图中可以看出判别器D的输入为拉普拉斯金字塔中的某层或者生成的差异图,与高斯金字塔某层的上采样图片进行拼接,D的输出为二分类输出。判别器的情况和生成器类似,这里仅以判别器D2为例。D2的输入是拉普拉斯金字塔存储的差异图和上采样图的和,即D2输入3个通道;D2的中间层通道数是128,中间各层的构建方式为Conv+ReLU,最后使用全连接层+sigmoid做分类。D2代码实现如下:
class
上述代码中in_dim表示输入通道数,in_width表示输入图片的长和宽。
三、总结
LAPGAN作为早期的生成对抗网络模型,它的效果虽然没有今天各种GAN网络那么优秀,但是它的级联思想绝对是具有非常重要的意义的,后续会分析一些类似的级联网络或者是多阶段生成网络。
参考:
【1】Denton E L, Chintala S, Fergus R. Deep generative image models using a laplacian pyramid of adversarial networks[C]//Advances in neural information processing systems. 2015: 1486-1494.
【2】https://github.com/AaronYALai/Generative_Adversarial_Networks_PyTorch
pytorch 图像分割的交并比_级联多对抗的LAPGAN(二)pytorch实现相关推荐
- pytorch 图像分割的交并比_「通知」《深度学习之图像识别》再版工作启动,欢迎指导和提建议...
不知不觉有三第一本书也上市超过1年半了,第一次写作略显稚嫩,许多细节处理不当,比如没有在印刷前核对公式,被删掉了参考文献影响读者阅读体验等.现在本书正式启动再版工作,注意不是重印,是再版.重印只是修正 ...
- pytorch 图像分割的交并比_小白通过kaggle学习few shot图像分类笔记--通过鱼尾对Humpback Whale分类...
1.题目简介 这个题目是通过鲸鱼尾巴图像对座头鲸分类,比赛特点是多达5000多类,因此是是few-shot问题,和一般分类不一样.Humpback Whale Identification在kaggl ...
- pytorch 图像分割的交并比_PyTorch专栏(二十二): 深度卷积对抗生成网络
作者 | News 编辑 | 奇予纪 出品 | 磐创AI团队出品 简介 本教程通过一个例子来对 DCGANs 进行介绍.我们将会训练一个生成对抗网络(GAN)用于在展示了许多真正的名人的图片后产生新的 ...
- pytorch 图像分割的交并比_Segmentation101系列-最简单的卷积网络语义分割(1)-PASCAL VOC图像分割...
作者:陈洪瀚 /洪瀚笔记知乎专栏 摘要:介绍了使用PyTorch和torchvision加载训练好的全卷积网络FCN或DeepLab模型,并对PASCAL VOC图像进行分割并显示结果. 网址: gi ...
- pytorch 图像分割的交并比_PyTorch深度学习框架——初识
PyTorch深度学习框架 简单介绍 PyTorch 是一个针对深度学习, 并且使用GPU 和CPU来优化的tensor library(张量库). 学过Tensorflow的人或许有话说,这些事情T ...
- PyTorch图像分割模型——segmentation_models_pytorch库的使用
一.概要 segmentation_models_pytorch是一个基于PyTorch的图像分割神经网络 这个新集合由俄罗斯的程序员小哥Pavel Yakubovskiy一手打造,对于图像分割而言简 ...
- pytorch dataset读取数据流程_高效 PyTorch :如何消除训练瓶颈
加入极市专业CV交流群,与 10000+来自港科大.北大.清华.中科院.CMU.腾讯.百度 等名校名企视觉开发者互动交流! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总,行业技术交流.关注 ...
- 深度学习二(Pytorch物体检测实战)
深度学习二(Pytorch物体检测实战) 文章目录 深度学习二(Pytorch物体检测实战) 1.PyTorch基础 1.1.基本数据结构:Tensor 1.1.1.Tensor数据类型 1.1.2. ...
- PyTorch强化学习实战(1)——强化学习环境配置与PyTorch基础
PyTorch强化学习实战(1)--强化学习环境配置与PyTorch基础 0. 前言 1. 搭建 PyTorch 环境 2. OpenAI Gym简介与安装 3. 模拟 Atari 环境 4. 模拟 ...
最新文章
- python绘制3维图-1、2、3维图见过,用Python画出来的六维图见过么?
- php SqlServer 中文汉字乱码
- Boost:字符串裁剪Trim的测试程序
- oracle强制切换redolog组
- 华为鸿蒙os生态,华为鸿蒙系统终于来了! 首款方舟编译器应用正式上架: 鸿蒙OS可用...
- hbase 的shell操作中相关属性说明
- 苹果6可以分屏吗_榨苹果汁可以加蜂蜜水吗?蜂蜜苹果汁的作用
- python 中调用shell命令
- 我们在电脑房里上计算机课英语怎么说,2017年英语六级作文及翻译:计算机和人...
- 27. Spring Boot 部署与服务配置
- java.io.NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord
- html5系列:notification api升级——从webkitNotifications到Notification
- MacBook外接“键盘鼠标”设置经验
- 数独游戏思路html,全民数独游戏规则介绍 数独技巧及题目解答思路
- 骑行318、 2016.7.15
- HTML+CSS个人笔记
- Apache OpenNLP介绍(一)
- STC用PCA测量脉宽_超快激光脉冲测量和诊断使用自相关仪
- 写好代码的注意点(代码整洁之道学习笔记)
- 数据库连接异常: HikariPool-1 - Connection is not available, request timed out after 30000ms.
热门文章
- price initialization when clicking new button in WebUI
- SAP Fiori Launchpad里home按钮的实现原理分析
- Angular Component template函数执行上下文的对象
- INTEROP tile cache
- OAuth 2.0协议在SAP产品中的应用
- SAP Kyma组件一览
- C4C里产品主数据和销售组织数据维护的相互作用和相互影响
- java foreach order_Java Elements.forEach方法代码示例
- 一个大型虚拟项目包含位于不同地点的许多干系人_项目管理与人生
- @data注解的作用_Java中注解学习系列教程-2