代码复现错误

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主设…

【MGR】MySQL Group Replication 要求与限制

目录 17.3 Requirements and Limitations 17.3.1 Group Replication Requirements Infrastructure Server Instance Configuration 17.3.2 Group Replication Limitations Limit on Group Size Limits on Transaction Size 17.3 Requirements and Limitations 这个部分列…

项目人都应该来看看!!揭秘项目崩盘背后的逻辑,NFG数藏成破局关键

每天五分钟一套互联网知识,大家好我是啊浩说模式 在投资领域,项目泡沫崩盘是一个屡见不鲜的现象。当某个项目或行业被过度炒作,市场参与者纷纷涌入,推动价格不断攀升,直至形成一个看似坚不可摧的泡沫。然而&#xff0c…

用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包含所…

Lc11. 盛最多水的容器

题目:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 思路:定义两个指…

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

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

正态性检验方法汇总

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

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

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

操作系统引导

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

蓝桥杯2023年-颜色平衡树(哈希表,dfs,map作返参)

题目描述 给定一棵树,结点由 1 至 n 编号,其中结点 1 是树根。树的每个点有一个颜色 Ci。 如果一棵树中存在的每种颜色的结点个数都相同,则我们称它是一棵颜色平衡树。 求出这棵树中有多少个子树是颜色平衡树。 思路 (map作返…

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

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

【方法论】快速撰写文章

快速撰写高质量技术文章的方法论 在技术写作领域&#xff0c;尤其是面对紧迫的截止日期时&#xff0c;快速而高效地撰写高质量文章是一项重要技能。本文将为您提供一套方法论&#xff0c;帮助您在短时间内产出优质的技术文章。 1. 明确主题和目标读者 首先&#xff0c;明确文…

单链表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…

如何不解压直接读取gzip文件里面的文件

要在服务器上不解压缩的情况下读取gzip文件中的文件内容&#xff0c;您可以使用类似于zlib模块的库&#xff0c;这些库允许您在内存中对gzip数据进行操作而无需解压缩到磁盘上的文件。 在Python中&#xff0c;您可以使用gzip模块来实现这一目的。以下是一个示例代码&#xff0…

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…