深度学习踩坑记录

深度学习踩坑记录

在跑一个深度学习的项目的时候,为了计算每个epoch的Loss,肯定要把每个batch_size的loss给加起来,就会有类似如下的代码

python 复制代码
train_loss += loss

是的当时手抖,忘了是loss.item(),代码也能正常运行,也能正常算,并且每一步需要跑的时间也是一样的,但是这样会导致每一步的内存都是叠加的。并且这种占显存的方式你在nvidia-smi还看不出来,得去htop里面看,一看好家伙,显存占的高的离谱,正常来说我就占4个G,他占了十几个G,当时就感觉不对劲了,后面发现这叫显存泄露

总而言之言而总之,如果你直接+loss,也能跑,结果也是一样的,但是这就会导致需要的内存一步步的叠加,我是跑到10几个epoch的时候莫名其妙被killed了,去查了一下是out of memory的问题,刚开始还以为是别的因素,后面才发现是我的问题T T

相关推荐
织码weavecodes24 分钟前
织码在线教育系统--主观题 AI 智能阅卷:批量初评与教师复核如何协同
人工智能
Shockang7 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang7 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab8 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源