当前位置: 首页 > news >正文

yolov8训练中出现问题

AMP: checks failed ❌. Anomalies were detected with AMP on your system that may lead to NaN losses or zero-mAP results, so AMP will be disabled during training. 
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 74.00 MiB. GPU

即GPU 显存不足

解决办法:

  1. 降低图像尺寸:若你当前设置的图像尺寸是 1024x1024 像素。尝试减小 imgsz 参数的值,例如减小到 512 或 640 像素,这样可以减少每次迭代所需的显存。

  2. 减少批量大小:批量大小(batch 参数)影响每次迭代中处理的图像数量。减小批量大小可以减少每次迭代所需的显存。

  3. 使用更多的数据加载器工作进程:通过增加 workers 参数的值,可以提高数据加载的效率,但这也可能增加内存的使用。如果你的 CPU 资源充足,可以尝试增加这个值。

  4. 关闭自动混合精度(AMP):错误信息中提到 AMP 检测失败,这可能影响训练的稳定性。你可以尝试手动关闭 AMP,即使用命令行参数 --amp False

  5. 优化数据加载:确保数据加载和预处理步骤尽可能高效,避免不必要的内存使用。

  6. 清理显存:在训练前关闭不必要的应用程序和进程,确保 GPU 显存尽可能多地被释放。

  7. 使用具有更多显存的 GPU:如果可能的话,尝试使用具有更多显存的 GPU,例如从 GTX 1080 Ti 切换到更高级的 GPU。

  8. 检查代码和模型:有时候,显存不足可能是由于代码中的内存泄漏或模型中的某些操作导致的。检查代码和模型定义,确保没有不必要的显存占用。

  9. 分阶段训练:如果模型非常大,可以考虑分阶段训练。先训练模型的一部分,然后逐步增加训练的复杂性。

  10. 使用显存监控工具:使用如 nvidia-smiTensorBoard 等工具监控显存使用情况,以便更好地理解显存不足的原因。

相关文章:

  • Linux 一键部署 Nginx1.26.1 + ModSecurity3
  • Docker的常见问题
  • LoRa126X系列LoRa模块:专为物联网设计而生
  • adb 截屏和录屏命令
  • nginx安装教程
  • Python 学习 第四册 第8章 结构化的文本文件
  • 【LeetCode热题 100】三数之和
  • Python日志管理利器:如何高效管理平台日志
  • 【机器学习】智能创意工厂:机器学习驱动的AIGC,打造未来内容新生态
  • CentOS中的rename命令
  • 别让日志拖垮网站速度
  • Python多语言欧拉法和预测校正器实现
  • 20240621每日后端---------如何优化项目中的10000个if-else 语句?
  • ⭐Unity 控制任意UI的渐隐渐显
  • JDBC从入门到精通-笔记(一):JDBC基本概念与开发基础
  • @angular/forms 源码解析之双向绑定
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 10个最佳ES6特性 ES7与ES8的特性
  • 4个实用的微服务测试策略
  • canvas 五子棋游戏
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • HTML-表单
  • PAT A1017 优先队列
  • Redux系列x:源码分析
  • session共享问题解决方案
  • vue 配置sass、scss全局变量
  • Zsh 开发指南(第十四篇 文件读写)
  • 翻译:Hystrix - How To Use
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 力扣(LeetCode)22
  • 前端攻城师
  • 小而合理的前端理论:rscss和rsjs
  • 移动端唤起键盘时取消position:fixed定位
  • 在Mac OS X上安装 Ruby运行环境
  • 最简单的无缝轮播
  • k8s使用glusterfs实现动态持久化存储
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • !$boo在php中什么意思,php前戏
  • # 达梦数据库知识点
  • #《AI中文版》V3 第 1 章 概述
  • (HAL库版)freeRTOS移植STMF103
  • (八)Flink Join 连接
  • (超详细)语音信号处理之特征提取
  • (二开)Flink 修改源码拓展 SQL 语法
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .net CHARTING图表控件下载地址
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET框架设计—常被忽视的C#设计技巧
  • .net项目IIS、VS 附加进程调试
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...