记一次pytorch训练loss异常的问题

记一次pytorch训练loss异常的问题

问题描述

使用mmdetection框架训练时,某项loss出现异常大的值,比如1781232349724294.000。这个问题只在多卡训练时才会出现。

解决方法

在确认target和predction没有问题后,发现是在dataset中的数据处理出现了问题。在dataset中的__getitem__函数中,对数据进行了处理,但是在处理时,将数据转换为了numpy格式,而没有将其他dtype转换为float32,导致了数据类型不匹配,从而导致了loss异常。将数据转换为float32后,问题解决。

numpy生成的数据默认为float64,而pytorch默认为float32,所以在处理数据时,需要注意数据类型的转换。

相关推荐
小鸡吃米…20 分钟前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫1 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)1 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan1 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd1 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
njsgcs2 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
io_T_T2 小时前
迭代器 iteration、iter 与 多线程 concurrent 交叉实践(详细)
python
水如烟2 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能