一次解决Pytorch训练时损失和参数出现Nan或者inf的经历
目前在做实验,参考了一个新的网络架构之后发现训练时损失出现Nan,参数了出现了inf的情况,先说说我的排查经历。
首先肯定是打印损失,损失是最容易出现Nan的,有各种原因,网上也有很多解决办法,我这里就不一一赘述了,大伙打开CSDN就一搜就有很多很全的
我的问题是在训练的中间参数中出现了inf,导致最终的损失为NaN或者inf
用下面的代码判断参数是否出现了NaN或者inf
for i in range(5): # exam是一个参数列表if torch.isnan(exeam[i]).any(): print('下表为{}的元素存在NaN!'.format(i))if torch.isinf(exeam[i]).any(): print('下表为{}的元素存在inf!'.format(i))
确定是哪些为NaN之后,直接上Relu或者归一化,很可惜,没用。。。
我参考的文章是这两篇
Vision Transformers for Single Image Dehazing
# feat是网络输出的结果,10通道
K, atp, tran, B = torch.split(feat, (1, 3, 3, 3), dim=1)# x是网络的输入
atp = K * atp - atp + x
tran = K * tran - tran + x
x = K * x - B + x
# H, W是限定的尺寸
rgb = x[:, :, :H, :W]
atp = atp[:, :, :H, :W]
tran = tran[:, :, :H, :W] 这样一弄,问题就解决了
我分析了下原因,代码中的参数出现NaN是因为出现了除以0的情况,加上了soft reconstruction之后(类似于全局残差,关键是后面加上x的那个操作)是原先为0的参数变得不为0了,除以0的情况消失了,就不存在NaN啦。
我是做视觉方向的,全局残差机制(ResNet,FFA-Net)在视觉中可谓是有百利而无一害,所以这样加应该没问题的
疑问
相关文章:
一次解决Pytorch训练时损失和参数出现Nan或者inf的经历
目前在做实验,参考了一个新的网络架构之后发现训练时损失出现Nan,参数了出现了inf的情况,先说说我的排查经历。 首先肯定是打印损失,损失是最容易出现Nan的,有各种原因,网上也有很多解决办法,我…...
【python入门篇】列表简介及操作(2)
列表是什么? 列表是由一系列按特定顺序排列的元素组成。你可以创建包含字母表中的所有字母、数字 0~9 或所有家庭成员的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。列表通常包含多个元素,因此给列表指定一…...
数据结构与算法——19.红黑树
这篇文章我们来讲一下红黑树。 目录 1.概述 1.1红黑树的性质 2.红黑树的实现 3.总结 1.概述 首先,我们来大致了解一下什么是红黑树 红黑树是一种自平衡的二叉查找树,是一种高效的查找树。红黑树具有良好的效率,它可在 O(logN) 时间内完…...
js题解(三)
文章目录 柯里化模块乘法改变上下文 柯里化 已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件: 1、返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数) 2、调用 a 之后&a…...
CompletableFuture异步回调
CompletableFuture异步回调 CompletableFutureFuture模式CompletableFuture详解1.CompletableFuture的UML类关系2.CompletionStage接口3.使用runAsync和supplyAcync创建子任务4.设置子任务回调钩子5.调用handle()方法统一处理异常和结果6.线程池的使用 异步任务的串行执行thenA…...
Python中匹配模糊的字符串
嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 如何使用thefuzz 库,它允许我们在python中进行模糊字符串匹配。 此外,我们将学习如何使用process 模块,该模块允许我们在模糊…...
PHP图片文件管理功能系统源码
文件图库管理单PHP源码直接解压就能用,单文件,indexm.php文件可以重新命名,上传到需要访问的目录中, 可以查看目录以及各个文件,图片等和下载及修改管理服务。 源码下载:https://download.csdn.net/downloa…...
(枚举 + 树上倍增)Codeforces Round 900 (Div. 3) G
Problem - G - Codeforces 题意: 思路: 首先,目标值和结点权值是直接联系的,最值不可能直接贪心,一定是考虑去枚举一些东西,依靠这种枚举可以遍历所有的有效情况,思考的方向一定是枚举 如果去…...
websocket逆向【python实现websocket拦截】
python实现websocket拦截 前言一、拦截的优缺点优点:缺点:二、实现方法1.环境配置2.代码三、总结前言 开发者工具F12,筛选ws后,websocket的消息是这样显示的,如何获取这里面的消息呢? 以下是本篇文章正文内容 一、拦截的优缺点 主要讲解一下websocket拦截的实现,现在…...
软件测试自动化的成本效益分析
随着软件测试技术的发展,人们已经从最初的手工测试转变为手工和自动化技术相结合的测试方法。目前,人们更多的是关心自动化测试框架、自动化测试工具以及脚本研究等技术方面,而在软件自动化测试方案的效益分析方面涉及较少。 软件测试的目的是…...
【Java】状态修饰符 final static
目录 final 修饰我们的成员方法、成员变量、类 示例代码: final 修饰的局部变量 示例代码: static 示例代码: static 访问特点: 示例代码: static关键字的用途 示例代码: static 修饰常量 示例…...
笔试编程ACM模式JS(V8)、JS(Node)框架、输入输出初始化处理、常用方法、技巧
目录 考试注意事项 先审完题意,再动手 在本地编辑器(有提示) 简单题515min 通过率0%,有额外log 常见输入处理 str-> num arr:line.split( ).map(val>Number(val)) 初始化数组 new Array(length).fill(v…...
learn掩码张量
目录 1、什么是掩码张量 2、掩码张量的作用 3、代码演示 (1)、定义一个上三角矩阵,k0或者 k默认为 0 (2)、k1 (3)、k-1 4、掩码张量代码实现 (1)、输出效果 &…...
激活函数介绍
介绍 神经网络当中的激活函数用来提升网络的非线性,以增强网络的表征能力。它有这样几个特点:有界,必须为非常数,单调递增且连续可求导。我们常用的有sigmoid或者tanh,但我们都知道这两个都存在一定的缺点,…...
docker方式启动一个java项目-Nginx本地有代码,并配置反向代理
文章目录 案例导入说明1.安装MySQL1.1.准备目录1.2.运行命令1.3.修改配置1.4.重启 2.导入SQL3.导入Demo工程3.1.分页查询商品(仔细看代码,很多新的MP编程技巧)3.2.新增商品3.3.修改商品3.4.修改库存3.5.删除商品3.6.根据id查询商品3.7.根据id…...
前端和后端是Web开发选哪个好?
前端和后端是Web开发中的两个不同的领域,哪一种更适合学习?前景更广呢? 一、引言 Web前端开发就像装饰房间的小瓦匠,勤勤恳恳,仔仔细细,粉饰墙壁,妆点家具。会 HTML,CSS,懂点 JS。…...
HTTP协议,请求响应
、概述 二、HTTP请求协议 三、HTTP响应协议 四、请求数据 1.简单实体参数 RequestMapping("/simpleParam")public String simpleParam(RequestParam(name "name" ,required false ) String username, Integer age){System.out.println (username "…...
idea配置文件属性提示消息解决方案
在项目文件路径下找到你没有属性提示消息的文件 选中,ok即可 如果遇到ok无法确认的情况: 在下图所示位置填写配置文件名称即可...
EdgeView 4 for Mac:重新定义您的图像查看体验
您是否厌倦了那些功能繁杂、操作复杂的图像查看器?您是否渴望一款简单、快速且高效的工具,以便更轻松地浏览和管理您的图像库?如果答案是肯定的,那么EdgeView 4 for Mac将是您的理想之选! EdgeView 4是一款专为Mac用户…...
流程自动化(RPA)的好处有哪些?
流程自动化(RPA)是一种通过软件机器人实现业务流程自动化的技术。它可以模拟人类在计算机上执行的操作,从而自动化重复性、繁琐的任务,提高工作效率和准确性。流程自动化(RPA)的好处很多,下面我…...
Symbol Opener:基于URI与LSP实现终端代码符号一键跳转
1. 项目概述:一个能让你在终端里“点击”代码符号的插件 如果你和我一样,每天大部分时间都泡在终端里,那你肯定遇到过这个场景:运行 git log 或者 grep 命令,终端输出了一堆函数名、类名,你想立刻跳转…...
MCP图像生成服务器:在IDE中无缝集成AI绘图,提升开发与设计效率
1. 项目概述:一个能“听懂人话”的智能图像生成服务器 如果你和我一样,经常在 Cursor、Claude Code 这类 AI 编程工具里写代码、做设计,那你肯定遇到过这样的场景:脑子里有个很棒的视觉创意,比如“一个赛博朋克风格的…...
GeoJSON.io:3分钟创建专业地图,地理数据可视化从未如此简单
GeoJSON.io:3分钟创建专业地图,地理数据可视化从未如此简单 【免费下载链接】geojson.io A quick, simple tool for creating, viewing, and sharing spatial data 项目地址: https://gitcode.com/gh_mirrors/ge/geojson.io 你是否曾经需要在地图…...
openclaw gateway网关运行详解
📘 Gateway 网关运行手册 — 关键内容与操作流程 1) Gateway 是什么 Gateway 网关服务 是一款长期运行的进程,用于处理连接控制、事件平面,与底层 Baileys / Telegram 等协议对接,为客户端提供 RPC/HTTP 接口。它自身启动后持续运…...
智能工厂能源监测管理平台解决方案
在某大型制造企业的生产园区,管理人员长期面临着一系列能源管理困境:由于厂区各个电表仍依赖人工抄录,数据滞后且易出错,导致管理层无法实时掌握每条生产线甚至每台关键设备的真实耗电情况;同时,由于电表分…...
BG3模组管理器版本兼容性终极指南:告别游戏崩溃和模组失效
BG3模组管理器版本兼容性终极指南:告别游戏崩溃和模组失效 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. This is the only official source! 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager BG3模组管理器是《博德之门3》…...
如何让PT下载像点外卖一样简单?3个场景教你玩转PT-Plugin-Plus
如何让PT下载像点外卖一样简单?3个场景教你玩转PT-Plugin-Plus 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站的种子。…...
最优化方法和理论一轮复习
最优化方法与理论一句话本质:在一堆可选方案里,按照某个评价标准,找到最好的那个。数学形式通常写成:: 在变量x的所有可能取值中,找到让目标函数 f(x) 最小的那个 x。一、最优化到底在研究什么?…...
用户NPS提升2.8倍的秘密:Lovable SaaS的3层共鸣架构,含Figma可复用组件库(限时开源)
更多请点击: https://intelliparadigm.com 第一章:Lovable SaaS产品开发指南 打造真正“可爱”(Lovable)的SaaS产品,核心在于将技术实现与人类情感体验深度耦合——用户不仅愿意使用,更主动分享、期待更新…...
长期使用Taotoken的Token Plan套餐在项目成本控制上的实际感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken的Token Plan套餐在项目成本控制上的实际感受 1. 项目背景与成本挑战 在持续数月的项目开发与迭代过程中&#x…...
