DP-GAN-判别器代码

news2024/10/6 12:30:49

在这里插入图片描述
将输出的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.coloradmin.cn/o/819885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虹科分享 | 关于内存取证你应该知道的那些事

什么是内存取证? 内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字取证的一个重要分支,用于从计算机的RAM&…

前端自动化测试:确保质量和稳定性的关键步骤

文章目录 测试金字塔与前端测试层级1. 单元测试(Unit Testing)2. 组件测试(Component Testing)3. 集成测试(Integration Testing)4. 端到端测试(End-to-End Testing) 单元测试、集成…

学习购药系统源码:从前端到后端的技术探索

本文将带领读者探索购药系统源码,从前端到后端逐步深入,了解其核心功能和实现方式。我们将使用常见的Web技术,包括HTML、CSS、JavaScript、以及Python的Django框架,展示购药系统的技术奥秘。 前端技术探索 HTML结构搭建 购药系…

3ds Max如何进行合成的反射光泽通道渲染

推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 准备场景 步骤 1 打开 3ds Max。smart_phone.max打开已 随教程提供。 打开 3ds Max 步骤 2 按 M 打开材质编辑器。选择空材料 槽。单击漫射通道。它将打开材质/贴图浏览器窗口。选择位图&#xff0…

DAY01_Spring简介IOC、DI入门案例Bean基础配置Bean实例化Bean生命周期依赖注入(DI配置)

目录 一 Spring1 Spring简介1.1 为什么要学1.2 学什么1.3 怎么学 2 初识Spring2.1 Spring家族2.2 Spring发展史 3 Spring体系结构问题导入3.1 Spring Framework系统架构图3.2 Spring Framework课程学习路线 4 Spring核心概念问题导入4.1 目前我们代码存在的问题4.2 核心概念 二…

【Linux 网络】 传输层协议之UDP协议

UDP协议 UDP协议的位置UDP协议的特点UDP协议的格式UDP使用注意事项 UDP协议的位置 在网络套接字编程时用到的各种接口,是位于应用层和传输层之间的一层系统调用接口,这些接口是由系统提供的。我们可以通过这些接口来搭建上层应用,比如HTTP协议…

如何解决制造业数字化改造的障碍?

制造业的数字化转型可能是一个复杂且具有挑战性的过程,但解决以下障碍有助于为成功实施铺平道路: 抵制变革:数字化转型中最常见的挑战之一是员工的抵制,尤其是那些习惯传统方法的员工。为了克服这一问题,组织需要培养一…

Redis 简介

文章目录 Redis 简介 Redis 简介 Redis(Remote Dictionary Server),远程词典服务器,基于 C/S 架构,是一个基于内存的键值型 NoSQL 数据库,开源,遵守 BSD 协议,Redis 由 C语言 实现。…

深入理解设计模式之门面模式

深入理解设计模式之门面模式 什么是门面模式? 门面模式(Facade Pattern)是一种结构型设计模式,它提供了一个简单的接口,用于访问复杂子系统中的一组接口。门面模式通过封装子系统的复杂性,提供了一个更简…

解决联想小新耳机孔没声音问题

联想小新电脑AMD,今天突然遇到扬声器有声音、蓝牙耳机也有声音、耳机孔插上耳机没有声音。 话不多说,直接上解决办法,亲测有用: (1)“此电脑”右键,选“管理” (2)进入…

第1集丨Vue 江湖 —— Hello Vue

目录 一、简介1.1 参考网址1.2 下载 二、Hello Vue2.1 创建页面2.2 安装Live Server插件2.4 安装 vue-devtools2.5 预览效果 一、简介 Vue(读音 /vjuː/, 类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设…

idea插件开发-自定义语言5-References and Resolve

实现自定义语言 PSI 中最重要和最棘手的部分之一是解析References。解析References使用户能够从 PSI 元素的使用(访问变量、调用方法等)导航到该元素的声明(变量的定义、方法声明等)。其实就是实现Navigate | Declaration or Usag…

OpenCVForUnity(十)扩张与侵蚀效果

文章目录 前言扩张案例展示 侵蚀案例展示 结语: 前言 在这个教程中,您将学习两种常见的图像形态运算符:侵蚀和膨胀。为此,您将使用OpenCV库中的两个函数:erode 和 dilate。 形态操作是一组基于形状的图像处理操作。形态…

java+springboot+mysql校园宿舍报修管理系统

项目介绍: 使用javaspringbootmysql开发的校园宿舍报修管理系统,系统包含管理员、维修员、学生角色,功能如下: 管理员:楼栋管理、宿舍管理、维修人员管理、学生管理;报修管理(派单给维修员&am…

k8s概念-StatefulSet

StatefulSet 是用来管理有状态应用的控制器 StatefulSet 用来管理某Pod集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符StatefulSet | KubernetesStatefulSet 运行一组 Pod,并为每个 Pod 保留一个稳定的标识。 这可用于管理需要持久化存储或稳…

系统架构师---UP统一过程常考概念

前言: 在 计算机诞生的年代,计算机是一种 只有天才才能掌握的工具。人们对软件的 认知仅仅停留在程序的层面上,所谓的软件开发就是那些能够掌握计算机的天才们写的一些只有计算机才能理解的二进制序列 。但是随着技术的发展,软件…

【计算机网络】传输层协议 -- TCP协议

文章目录 1. TCP协议的引入2. TCP协议的特点3. TCP协议格式3.1 序号与确认序号3.2 发送缓冲区与接收缓冲区3.3 窗口大小3.4 六个标志位 4. 确认应答机制5. 超时重传机制6. 连接管理机制6.1 三次握手6.2 四次挥手 7. 流量控制8. 滑动窗口9. 拥塞控制10. 延迟应答11. 捎带应答12.…

手撕SpringBoot的自定义启动器

一. 前言 哈喽,大家好,最近金九银十,又有不少小伙伴私信辉哥,说自己在面试时被问到SpringBoot如何自定义启动器,结果自己不知道该怎么回答。那么今天就手把手地带着大家,去看看在SpringBoot中到底该怎么实…

半导体制造工艺流程

本资料仅用于学习和讨论,如有侵权请反应 1、半导体制造工艺流程-要求 1.1 英特尔50亿纳米的制作工艺 2、第一步 晶圆加工 2.1 第一步 晶圆加工 2.2 第二步 氧化 2.3 第三步 光刻 2.4第四步 刻蚀 2.5 第五步 薄膜沉积 2.6 第六步 互连 2.7 第七步 测试 2.8…

奥威软件SaaS BI系统:一站式数据可视化解决方案

SaaS BI 系统是 Software as a Service 商业智能的缩写,是一种基于云计算的商业智能解决方案。它允许用户通过互联网访问和分析数据,而无需安装和维护昂贵的硬件和软件。如今将BI系统SaaS化已成趋势,越来越多的企业开始寻找SaaS BI系统&#…