当前位置: 首页 > news >正文

DP-GAN-判别器代码

在这里插入图片描述
将输出的rgb作为输入,输入到判别器中。接着执行一个for循环,看一下body_down列表的组成和x经过body_down之后的值。
在这里插入图片描述
在这里插入图片描述
body_down是由残差块D组成的列表:
在这里插入图片描述
残差块的参数为:(3,128),(128,128),(128,256),(256,256),(256,512),(512,512)/-1,根据i==0,判断first参数的True或者False。
在这里插入图片描述
残差块组成:
在这里插入图片描述
x首先进过shortcut。假设执行第一次for循环,通道(3,128)/-1/True.
在这里插入图片描述
将RGB下采样两倍。
在这里插入图片描述
接着in=3,out=128,learned_shortcut=True。
在这里插入图片描述
x再经过一个卷积:
在这里插入图片描述
接着输出x。执行完shortcut再执行卷积:
在这里插入图片描述
在这里插入图片描述
conv1输出一个mid_layer,conv2输出最终的out.
因为x在开始进行了下采样,为了能够相加,这里也对dx进下采样。
在这里插入图片描述
接着执行第二个块,输入和输出通道都是128.只执行下采样两倍。
在这里插入图片描述
后面的四个根据通道是否相等只执行如下操作:
在这里插入图片描述
这样encoder_res里面有六个值,将第四层和第六层输出放在dis_list中:
在这里插入图片描述
接着取出dis_list进行处理:
在这里插入图片描述
self.dis列表里面存放了两个nn.Sequential,分别处理dis_list的第一第二个。

        self.dis = nn.ModuleList([nn.Sequential(nn.Conv2d(256, 64, 3, padding=1, stride=2),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 64, 3, padding=1),nn.BatchNorm2d(64),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 64, 3, padding=1),nn.BatchNorm2d(64),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 64, 3, padding=1),nn.BatchNorm2d(64),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 1, 3, padding=1)),nn.Sequential(nn.Conv2d(512, 64, 3, padding=1, stride=2),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 64, 3, padding=1),nn.BatchNorm2d(64),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 64, 3, padding=1),nn.BatchNorm2d(64),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 64, 3, padding=1),nn.BatchNorm2d(64),nn.LeakyReLU(0.2, False),nn.Conv2d(64, 1, 3, padding=1))])

在Sequential内部,首先将输入下采样两倍,然后三个卷积进行特征提取操作,最后卷积输除通道为1,输出Fake 或者real的概率。对应于:
在这里插入图片描述
接着将encoder最后一个输出作为decoder输入进行上采样:
在这里插入图片描述
残差块参数为:(512,512)/1,将输入上采样两倍。
在这里插入图片描述
剩下的五次卷积,分别倒着取列表里面的通道:
在这里插入图片描述
在这里插入图片描述
将decoder的值和encoder拼接,上采样6次,添加到return_feats列表中。
将最后一层输出值进过一个卷积,输出通道为类别通道数:
在这里插入图片描述
在这里插入图片描述
最后将最后一层输出值,encoder两个中间变量值,decoder的5个上采样中间值作为输出。

http://www.lryc.cn/news/110347.html

相关文章:

  • 基于多线程实现服务器并发
  • Golang之路---03 面向对象——接口与多态
  • 一条自由游动的鲸鱼
  • 将python源代码打包成.exe可执行文件
  • 【数据结构篇】手写双向链表、单向链表(超详细)
  • linux 中的串口驱动
  • 棱镜七彩正式加入龙蜥社区安全联盟(OASA)
  • STM32——STM32F401x系列标准库的下载+环境搭建+建工程步骤(更完整)
  • 基于ArcGIS土地利用量化人类活动的分析及模型构建
  • 特性Attribute
  • pyqt5, 如何在窗口上显示10个点地循环进度条。
  • VM里ubuntu虚拟无法启动
  • 信息学奥赛一本通——1156:求π的值
  • BI报表工具有哪些作用?奥威BI全面剖析数据
  • 【云原生K8s】初识Kubernetes的理论基础
  • javaAPI(三):jdk8之前的日期API
  • 驱动开发(中断)
  • TypeScript最新语法总结
  • sentinel组件
  • 26 MFC序列化函数
  • GC 深入(小白,对gc有一个进一步的了解)
  • CSS前端面试
  • VB+SQL餐饮管理系统设计与实现
  • React入门学习笔记2
  • Palo Alto Networks® PA-220R 下一代防火墙 确保恶劣工况下的网络安全
  • 架构训练营学习笔记:5-2 负载均衡架构
  • 二叉树的性质、前中后序遍历【详细】
  • 涨姿势了,有意思的气泡 Loading 效果
  • 单片机中断系统
  • 二、JVM-深入运行时数据区