代码复现错误

1.

问题:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 39.59 GiB total capacity; 37.72 GiB already allocated; 38.19 MiB free; 37.83 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

解决方法:

减小batch大小,可以减小每一批次的内存使用。批大小:24➡️12➡️6

减小批量大小(batch size)有几个潜在的好处:

  1. 减少内存占用: 更小的批量大小意味着每个批次需要的内存更少,这有助于减少GPU内存的占用。特别是在处理大型模型或者数据集时,较小的批量大小可以降低内存消耗,从而减少因内存不足而导致的错误。

  2. 加快训练速度: 较小的批量大小可能会导致更频繁的参数更新,这有助于加快模型的训练速度。虽然每轮迭代的计算量可能会增加,但由于参数更新更加频繁,整体上可以获得更快的收敛速度。

  3. 泛化能力: 一些研究表明,通过减小批量大小,模型可能会更好地泛化到新的数据上,从而提高模型的性能。

尽管减小批量大小具有上述好处,但也存在一些潜在的问题:

  1. 训练时间延长: 由于参数更新更频繁,整体训练时间可能会延长,尤其是在处理较大的数据集时。

  2. 训练稳定性: 对于某些模型和数据集,较小的批量大小可能导致训练过程的不稳定性,包括震荡、收敛速度下降等问题。

2.

问题:

RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0!

解决;

找到报错的位置,在方法体内,把张量后面加上.to('cuda:0')

补充:

张量(tensor)是深度学习中的一种数据结构,类似于多维数组。在PyTorch等深度学习框架中,张量是进行数值计算的基本数据类型,用来存储和处理数据以及执行各种运算。

张量可以是多维的,可以是标量(0维张量)、向量(1维张量)、矩阵(2维张量)甚至更高维度的数组。在深度学习中,神经网络的输入、输出和参数通常都表示为张量,通过张量之间的运算来实现神经网络模型的训练和推理过程。

张量支持各种数学运算,如加法、减法、乘法、除法、矩阵乘法等,同时也支持广播(broadcasting)、切片(slicing)等操作。在深度学习中,张量是非常重要的数据类型,对于构建和训练神经网络模型起着关键作用。

3.

问题:

AttributeError: 'list' object has no attribute 'float'

4.在计算loss的时候,出现了loss:nan的情况

解决:

(1)推测是值太小,loss = criterion(outputs, batch_y+1e-5) ➡️ loss = criterion(outputs, batch_y+1e-5),但更改后并未解决问题

(2)推测是数据精度问题,如bf16和fp16,但改变精度后并未解决问题

补:

(3)修改学习率learning_rate=0.01 ➡️ 0.001,目前效果良好

学习率在深度学习训练中起着非常重要的作用,它决定了模型参数在每次迭代中更新的幅度。学习率的高低对训练过程和结果有着直接影响:

  1. 学习率过高:

    • 如果学习率设置过高,可能导致参数更新过大,使得模型在参数空间内来回波动,甚至出现数值溢出,最终导致训练不稳定或损失函数出现 NaN。
    • 高学习率可能会导致模型无法收敛到最优解,甚至完全偏离最优解,从而影响模型的性能。
  2. 学习率过低:

    • 如果学习率设置过低,模型参数更新的幅度较小,可能导致模型收敛速度过慢,需要更多的迭代次数才能达到收敛状态。
    • 过低的学习率也可能导致模型陷入局部最优解或者鞍点,难以跳出局部最优解找到更好的全局最优解。

补充:

1.

2.

4.

问题:

当前 PyTorch 安装不支持 A100-SXM4-40GB GPU 的 CUDA 计算能力(sm_80),而只支持 CUDA 计算能力为 sm_37、sm_50、sm_60 和 sm_70 的设备。

A100-SXM4-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70. 

解决方法:

疑似torch版本较低

torch版本由1.12.1 ➡️ 2.0.1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730682.shtml

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

相关文章

防御保护 IPSEC VPPN实验

实验背景:FW1和FW2是双机热备 主备备份模式。 实验要求:在FW5和FW3之间建立一条IPSEC通道,保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 IPSEC VPPN实验配置(由于是双机热备状态,所以FW1和FW2只需要配置FW1主设…

用FPGA CORDIC IP核实现信号的相位检测,计算相位角

用FPGA CORDIC IP核实现信号的相位检测 1.matlab仿真 波形仿真代码: 代码功能:生成一个点频信号s,求出s的实部和虚部;并且结算相位角atan2。画出图形,并且将Q和I数据写入文件中。 %代码功能:生成一个点…

20.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-数据分析工具数据类型编辑功能的实现

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易道云信息技术研究院VIP课 上一个内容:19.数据分析工具数据类型配置功能的实现 码云地址(master 分支&#…

unity学习(49)——服务器三次注册限制以及数据库化角色信息4--角色信息数据库化

1.此处下断开始调试,list函数内就有问题: 2. 现在的问题是只读不写!32行就是写入部分的代码: 3. 很奇怪,调试的时候确实是写进来了 程序正常执行后,文件中数据也没有消失 关闭服务器文件内容依旧正常。 players包含所…

MySQL篇—执行计划之覆盖索引Using index和条件过滤Using where介绍(第三篇,总共三篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

提醒一下!今年考研的人不要太老实了!!

今年准备计算机考研的同学,别太老实了!别人说什么你就信什么 如果你的工作能力不足以支撑找到一个满意的工作,那我建议再沉淀两年! 很多同学其实有点眼高手低,在计算机专业,低于1w的工作看不上&#xff0…

操作系统引导

目录 一. 什么是操作系统引导 \quad 一. 什么是操作系统引导 \quad 什么是操作系统引导: 就是在开机的时候, 怎么让操作系统运行起来 操作系统是安装在C盘的 分区表用来说明C,D,E,F盘的存储空间 RAM一关机, 里面的数据就会被清空, ROM则不会 MBR里面的程序被读到RAM里面, 那…

qt自定义时间选择控件窗口

效果如图&#xff1a; 布局如图&#xff1a; 参考代码&#xff1a; //DateTimeSelectWidget #ifndef DATETIMESELECTWIDGET_H #define DATETIMESELECTWIDGET_H#include <QWidget> #include <QDateTime>namespace Ui { class DateTimeSelectWidget; }class DateTim…

单链表OJ题:LeetCode--141.环形链表

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下LeetCode中的第141道单链表OJ题&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; 数据结构与算法专栏&#xff1a;数据结构与算法 个 …

O2O:Sample Efficient Offline-to-Online Reinforcement Learning

IEEE TKDE 2024 paper Introduction O2O存在策略探索受限以及分布偏移问题&#xff0c;进而导致在线微调阶段样本效率低。文章提出OEMA算法首先使用离线数据训练乐观的探索策略&#xff0c;然后提出基于元学习的优化方法&#xff0c;减少分布偏移并提高O2O的适应过程。 Meth…

OpenHarmony教程指南-自定义通知推送

介绍 本示例主要展示了通知过滤回调管理的功能&#xff0c;使用ohos.notificationManager 接口&#xff0c;进行通知监听回调&#xff0c;决定应用通知是否发送。 效果预览 使用说明 1.在使用本应用时&#xff0c;需安装自定义通知角标应用&#xff1b; 2.在主界面&#xff…

重学SpringBoot3-WebMvcAutoConfiguration类

重学SpringBoot3-WebMvcAutoConfiguration类 是什么什么用生效条件作用 自定义配置的三种方式自定义配置举例1. 自定义 DispatcherServlet 配置2. 静态资源配置3. 自定义MVC配置4. 消息转换器5. 异常处理 是什么 org.springframework.boot.autoconfigure.web.servlet.WebMvcAut…

FPGA IBUFG

IBUFG和IBUFGDS的输入端仅仅与芯片的专用全局时钟输入管脚有物理连接&#xff0c;与普通IO和其它内部CLB等没有物理连接。 所以&#xff0c;IBUFG输入的不能直接接另外信号。 GTH transceiver primitives are called GTHE3_COMMON and GTHE3_CHANNEL in UltraScale FPGAs, an…

@RequestMapping与@GetMapping和@PostMapping等注解的区别

目录 前置知识 大致区别 使用场景上的注意事项 如何工作 使用案例 写法对比 前置知识 HTTP请求方法一共有9种&#xff0c;为&#xff1a;GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECTGET(获取资源) 本质就是发送一个请求来取得服务器上的某一资源&…

【Java代码审计】JNDI+RMI绕过高版本JDK的限制

【Java代码审计】JNDIRMI绕过高版本JDK的限制 1.高版本JDK利用注入导致的问题2.绕过分析3.Tomcat8绕过4.工具绕过 1.高版本JDK利用注入导致的问题 JDK 6u132、7u122、8u113 开始 com.sun.jndi.rmi.object.trustURLCodebase 默认值为false&#xff0c;运行时需加入参数 -Dcom.s…

Go语言物联网开发安科瑞ADW300/4G电能表数据上传mqtt平台-电表接线到传输数据完整流程

电能表功能说明 ADW300是方便用户进行用电监测、集抄和管理&#xff0c;可灵活安装在配电箱中&#xff0c;可用于电力运维、环保监管等在线监测类平台中。我们本案例是用于工业售电公司对出售电的管理&#xff0c;设备可以监控用电情况、故障监控及警报&#xff0c;售电公司可…

(完美方案)解决mfc140u.dll文件丢失问题,快速且有效的修复

唉&#xff0c;又是丢失了mfc140u.dll&#xff0c;这该怎么办呢&#xff1f;如果你的电脑突然找不到或丢失mfc140u.dll文件&#xff0c;那就真是太糟糕了。别担心&#xff0c;我分享给你一些干货&#xff0c;告诉你如何快速解决mfc140u.dll丢失的问题。 一.mfc140u.dll属性功能…

百度地图城市点位数据下载并转换

概述 在浏览百度地图开放平台的时候&#xff0c;发现有个资源下载页面&#xff0c;里面有个城市中心点位和百度地图行政区划adcode映射表数据&#xff0c;这是一个经常使用到的数据&#xff0c;本文实现将这个数据转换为geojson&#xff0c;并借助QGIS转换为经纬度坐标或火星坐…

LCR 175. 计算二叉树的深度

一、题目描述 LCR 175. 计算二叉树的深度 二、思路 递归求左右子树的高度 三、解题思路 把大规模的问题拆分成小规模的问题1、要求根节点的二叉树深度 2、转换子问题&#xff1a;求左子树为根节点的二叉树深度 3、转换子问题&#xff1a;成求右子树为根节点的二叉树深度 4、最…

宏auto关键字(C++基础)

宏 宏可以实现对语句的同义替换&#xff0c;简单来说就是预处理阶段、编译前的替换&#xff08;包括符号&#xff0c;变量等&#xff09;。 #define LOG(x) std::cout << x << std::endl; LOG("hello") 可以正常使用。 下面通过上图中借用不同开发模…