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

DP-GAN损失

在前面我们看了生成器和判别器的组成。
生成器损失公式:
在这里插入图片描述
在这里插入图片描述
首先将fake image 和真实的 image输入到判别器中:
接着看第一个损失:参数分别为fake image经过判别器的输出mask,和真实的label进行损失计算。对应于:
在这里插入图片描述
其中loss对应于:

class losses_computer():def __init__(self, opt):self.opt = optif not opt.no_labelmix:self.labelmix_function = torch.nn.MSELoss()def loss(self, input, label, for_real):#true#--- balancing classes ---weight_map = get_class_balancing(self.opt, input, label)#--- n+1 loss ---target = get_n1_target(self.opt, input, label, for_real)loss = F.cross_entropy(input, target, reduction='none')if for_real:loss = torch.mean(loss * weight_map[:, 0, :, :])else:loss = torch.mean(loss)return loss

1:首先平衡类别,input大小为(1,36,256,512),label大小为(1,35,256,512).
在这里插入图片描述
首先将label每个通道所有的值相加,最后只剩下C个值。
在这里插入图片描述
接着将class_occurence第一个值替换为0(在标签中第一个值为空).然后将列表值和0进行比较,统计为True的个数,就是总的类别。
然后求总的类别权重,一张图有24个类别,总的标签图有35各类别,缺失的类别为inf。
在这里插入图片描述
根据argmax获得label的通道索引,输出通道为一的mask图。
在这里插入图片描述
根据类别找对应的权重值。
在这里插入图片描述
接着标签和label输入到:在这里插入图片描述
首先得到一个和input相同大小的全1矩阵。这个矩阵是放在cuda上,用1填充,不需要更新,和input相同维度。
在这里插入图片描述
接着取label的索引,将全1矩阵target压缩通道维度和numclass相乘,这样所有的值都是35,在和label的类别值相加。因为相加之后的值肯定大于35,即clamp将小于34的值替换为34.(感觉clamp并没有起作用),减去35加1,相当于将label类别值全部加1了。
最后将辨别器的decoder输出和真实的label进行交叉熵计算。
在这里插入图片描述
将loss和类别权重相乘,再求均值得到最终的损失。
在这里插入图片描述
接着是第二个损失:生成器希望生成的结果可以骗过判别器,fake产生的图片要尽可能的真实。
在这里插入图片描述
score是判别器encoder部分的两个输出。
在GANloss中:
在这里插入图片描述
在loss中:
在这里插入图片描述
生成器是不完全执行patch_loss,为了使损失更小,则-1+D(x)就要趋近于0,因为D最后是输出一个通道为1的值,即经过sigmoid每个像素输出值在[0,1]之内,为了使-1+D(x)最小,则输出就要尽可能为1,即输出要尽可能正确。
在这里插入图片描述
在这里插入图片描述
得到的两个GANloss相加求均值,再和之前的对抗损失相加。
第三个是特征匹配损失:输入是real image和fake image经过decoder的五个中间变量输出。
在这里插入图片描述
在这里插入图片描述
通过循环计算每一个输出对之间的MSE损失。在这里插入图片描述
将生成的结果和前面两种损失相加。
最后输出:总损失,[对抗损失,None]。
在这里插入图片描述
接着损失取均值,然后反向传播。
然后说判别器的损失:
按照公式:GAN loss需要计算fake image 和 real image产生的中间变量,然后相加。而生成器不用计算E(z,l)。
在这里插入图片描述
在代码中通过控制target的True和False来计算两个loss。
在这里插入图片描述
在这里插入图片描述
损失包含:
1:fake image经过判别器得到的mask和真实的label计算对抗损失。
2:real image经过判别器得到的mask和真实的label计算对抗损失。
3:两个GAN loss。
4:label mix
在这里插入图片描述
在这里插入图片描述
首先获得label上的类别值,然后遍历类别值,将mask中的类别随机替换为0或者1,然后和真实的image相乘,对target_map取反后和fake_image相乘最后相加。最终输出混合的image和新的target_map。
混合的image输入判别器中后计算labelmix损失:
四个参数:进过[0,1]替换后的mask,mix_image经过判别器的输出,fake_image经过判别器的输出和real_image经过判别器的输出。
在这里插入图片描述
在这里插入图片描述
生成的label_mix loss和原始的三个loss相加。
这样就计算完了辨别器损失。

相关文章:

DP-GAN损失

在前面我们看了生成器和判别器的组成。 生成器损失公式: 首先将fake image 和真实的 image输入到判别器中: 接着看第一个损失:参数分别为fake image经过判别器的输出mask,和真实的label进行损失计算。对应于: 其中l…...

自监督去噪:Noise2Void原理和调用(Tensorflow)

文章原文: https://arxiv.org/abs/1811.10980 N2V源代码: https://github.com/juglab/n2v 参考博客: https://zhuanlan.zhihu.com/p/445840211https://zhuanlan.zhihu.com/p/133961768https://zhuanlan.zhihu.com/p/563746026 文章目录 1. 方法原理1.1 Noise2Noise回…...

Mac 安装配置adb命令环境(详细步骤)

一、注意:前提要安装java环境。 因为android sdk里边开发的一些包都是依赖java语言的,所以,首先要确保已经配置了java环境。 二、在Mac下配置android adb命令环境,配置方式如下: 1、下载并安装IDE (andr…...

GDAL C++ API 学习之路 (2) GDALRasterBand篇 代码示例 翻译 自学

GDALRasterBand Class <gdal_priv.h> GDALRasterBand是GDAL中用于表示栅格数据集中一个波段的类。栅格数据集通常由多个波段组成&#xff0c;每个波段包含了特定的数据信息&#xff0c;例如高程、红、绿、蓝色等&#xff0c; 用于表示影像的不同特征。提供了许…...

springboot对静态资源的支持

1、spring boot默认静态路径支持 Spring Boot 默认将 / 所有访问映射到以下目录&#xff1a;** classpath:/static classpath:/public classpath:/resources classpath:/META-INF/resources也就是说什么也不用配置&#xff0c;通过浏览器可以直接访问这几个目录下的文件。 1…...

WPF实战学习笔记27-全局通知

新建消息事件 添加文件&#xff1a;Mytodo.Common.Events.MessageModel.cs using Prism.Events; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Diagnostics;namespace Mytod…...

openSUSE安装虚拟化 qemu kvm

1) 第一种&#xff1a;图形界面yast安装虚拟化 左下角开始菜单搜索yast 点一下就能安装&#xff0c;是不是很简单呢 2&#xff09;第二种&#xff1a; 命令行安装 网上关于openSUSE安装qemu kvm的教程比较少&#xff0c;可以搜索centos7 安装qemu kvm的教程&#xff0c;然后…...

基于linux下的高并发服务器开发(第四章)- 多进程实现并发服务器(回射服务器)

1. socket // 套接字通信分两部分&#xff1a; - 服务器端&#xff1a;被动接受连接&#xff0c;一般不会主动发起连接 - 客户端&#xff1a;主动向服务器发起连接 2.字节序转换函数 当格式化的数据在两台使用不同字节序的主机之间直接传递时&#xff0c;接收端必然错误…...

【程序分析】符号执行

符号执行入门 参考&#xff1a;https://zhuanlan.zhihu.com/p/26927127 给定一个结果&#xff0c;求解对应的程序输入。 经典符号执行与动态符号执行 参考&#xff1a;https://p1kk.github.io/2021/04/04/others/%E7%AC%A6%E5%8F%B7%E6%89%A7%E8%A1%8C&%E6%B1%A1%E7%82…...

实验笔记之——Windows下的Android环境开发搭建

好久一段时间没有进行Android开发了&#xff0c;最新在用的电脑也没有了Android studio了。为此&#xff0c;本博文记录一下最近重新搭建Android开发的过程。本博文仅为本人学习记录用&#xff08;**别看&#xff09; 之前博客也对配置Android做过记录 Android学习笔记之——A…...

#rust taur运行报错#

场景:在window11系统上运行 tauri桌面莹应用&#xff0c;提示错误。 Visual Studio 2022 生成工具 安装的sdk11 , rust运行模式是stable-x86_64-pc-window-gnu&#xff0c; 运行npm run tauir dev 一致失败&#xff0c;失败信息如下 原因&#xff1a;1&#xff1a;在window11系…...

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

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

第九次CCF计算机软件认证

第一题&#xff1a;中间数 在一个整数序列 a1,a2,…,an 中&#xff0c;如果存在某个数&#xff0c;大于它的整数数量等于小于它的整数数量&#xff0c;则称其为中间数。 在一个序列中&#xff0c;可能存在多个下标不相同的中间数&#xff0c;这些中间数的值是相同的。 给定一个…...

【计算机网络】传输层协议 -- 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.…...

Mac上命令

1. block端口&#xff1a; sudo cp /etc/pf.conf /etc/pf443.conf 编辑pf443.conf&#xff0c;vim /etc/pf443.conf&#xff0c;如 block on en0 proto udp from any to any port 9000 # block UDP port 9000 block on en0 proto tcp from any to any port 5004 # bloc…...

软件安全测试和渗透测试的区别在哪?安全测试报告有什么作用?

软件安全测试和渗透测试在软件开发过程中扮演着不同的角色&#xff0c;同时也有不同的特点和目标。了解这些区别对于软件开发和测试人员来说非常重要。本文将介绍软件安全测试和渗透测试的区别&#xff0c;以及安全测试报告在软件开发和测试过程中的作用。 一、 软件安全测试和…...

Android 从LibVLC-android到自编译ijkplayer播放H265 RTSP

概述 ijkplayer: Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support. 官方的描述就这么简单的一句话&#xff0c;但丝毫都不影响它的强大。 从LibVLC 到 ijkplayer 截止到2023.7.20 LibVLC-Android 最大的问题在与OOM&#xff0c;测试了…...

如何提升等保水平,减少数据泄露率

如何提升等保水平&#xff0c;减少数据泄露率&#xff1f;随着互联网的发展和数据的普及&#xff0c;数据泄露已经成为了企业面临的重要安全风险之一。为了保障企业的数据安全&#xff0c;国家制定了《网络安全法》和《信息安全等级保护管理办法》&#xff0c;要求企业提升等保…...

蓝桥云课ROS机器人旧版实验报告-07外设

项目名称 实验七 ROS[Kinetic/Melodic/Noetic]外设 成绩 内容&#xff1a;使用游戏手柄、使用RGBD传感器&#xff0c;ROS[Kinetic/Melodic/Noetic]摄像头驱动、ROS[Kinetic/Melodic/Noetic]与OpenCV库、标定摄像头、视觉里程计&#xff0c;点云库、可视化点云、滤波和缩…...

sql入门基础-2

Dml语句 对数据的增删改查 关键字 Insert增 Update删 Delete改 添加数据 给指定字段添加数据 Insert into 表明 (字段名1&#xff0c;字段名2) values&#xff08;值1&#xff0c;值2&#xff09;; 给全部字段添加数据--(根据位置对应添加到字段下) Insert into 表名 values…...

工业智能网关:三菱FX3U PLC数据采集

调试准备&#xff1a; 需要准备的材料&#xff1a;HINET 智能网关、现场安装三菱 FX3U、网线等&#xff1b;网关和 PLC 的连接方式&#xff1a;网关 LAN 口直接和 PLC 网线连接&#xff1b; PLC 和网关的 IP 地址以及现场联网条件说明&#xff1a; 三菱 FX3U 的 IP&#xff1a;…...

Wireshark抓包提取NTLMv2 Hash实战指南

1. 这不是“黑客演示”&#xff0c;而是一次内网安全加固前的必做体检你有没有遇到过这样的情况&#xff1a;某天突然收到告警&#xff0c;说域控日志里出现了大量异常的NTLM认证失败记录&#xff1b;或者渗透测试报告里赫然写着“存在明文凭据泄露风险”&#xff0c;但你翻遍所…...

GitHub中文界面插件架构解析与实战指南

GitHub中文界面插件架构解析与实战指南 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 核心问题&#xff1a;开发者面临的GitHub语言障…...

AI应用可观测性工程:像监控微服务一样监控你的LLM应用

LLM 应用进入生产后&#xff0c;“为什么这次回答质量差&#xff1f;”、"哪次调用导致成本飙升&#xff1f;"这些问题如果没有完整的可观测性体系&#xff0c;根本无法回答。本文构建 LLM 应用的完整监控体系。LLM 应用监控的独特挑战传统微服务监控关注的是&#x…...

桌面图标变白纸别慌!手把手教你用右键属性+路径复制,5分钟找回所有软件图标

桌面图标异常修复指南&#xff1a;从白纸图标到完整恢复的实战解析 电脑桌面上那些熟悉的图标突然变成白纸&#xff0c;这种看似小问题却让人倍感困扰。不必惊慌&#xff0c;这通常是系统图标缓存更新不及时或软件关联异常导致的常见现象。本文将带你深入理解图标显示机制&…...

Medium作者收益预测模型:轻量可解释的写作价值评估系统

1. 项目概述&#xff1a;这不是一个“预测收入”的模型&#xff0c;而是一套写作者价值评估系统你点开这个标题&#xff0c;第一反应可能是&#xff1a;“哦&#xff0c;又一个用机器学习算稿费的工具&#xff1f;”——但实际远不止如此。Medium writer earnings&#xff08;M…...

Tonzhon音乐:纯净无干扰的现代音乐播放平台终极指南

Tonzhon音乐&#xff1a;纯净无干扰的现代音乐播放平台终极指南 【免费下载链接】tonzhon-music 铜钟 Tonzhon (tonzhon.whamon.com): 干净纯粹的音乐平台 (铜钟已不再使用 tonzhon.com&#xff0c;现在的 tonzhon.com 不是正版的铜钟) 项目地址: https://gitcode.com/GitHub…...

硬件工程选型解析:钡特电源VB60-24S12LD与金升阳URB2412LD-60WR3同属工业高可靠

在工业硬件研发、设备调试与批量量产工作中&#xff0c;大功率工业DC-DC模块的工况适配性、结构规范性与运行稳定性&#xff0c;是硬件研发工程师重点核查的核心指标&#xff0c;直接决定工控设备、电力终端、智能装备的长期运行可靠性。在60W级国产直流电源模块品类中&#xf…...

机器学习论文有效阅读:三层穿透法定位技术杠杆点

1. 这不是“读论文”&#xff0c;而是“拆解模型生长的土壤”你有没有过这种体验&#xff1a;打开一篇顶会论文&#xff0c;标题写着《Neural Architecture Search with Reinforcement Learning》&#xff0c;摘要读得热血沸腾&#xff0c;结果翻到Methodology部分&#xff0c;…...

洛可可≠堆砌!从构图节奏、卷草纹矢量逻辑到S形动线设计,深度拆解Midjourney生成真·18世纪法式优雅的4大底层规则

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;洛可可≠堆砌&#xff01;从构图节奏、卷草纹矢量逻辑到S形动线设计&#xff0c;深度拆解Midjourney生成真18世纪法式优雅的4大底层规则 洛可可风格的本质不是装饰元素的无序叠加&#xff0c;而是以数学韵律…...