【小本本笔记】yolov8跑模型缓慢,内存提示不足?

GPU-mem=0

跑模型跑的慢 ,gpu-mem=0是什么意思。说明没有在gpu上面跑,解决方法:

  • GPU内存不足,可以去扩大虚拟内存,在控制面板/系统和安全/系统/高级系统设置/在性能的设置里面去增加虚拟内存来解决(我是通过这个解决了)
  • 减小batch-size减少对gpu的负载
  • 降低图片分辨率减少对gpu内存负载
  • 使用更小的模型
  • 升级gpu,使用更高端的gpu

opencv内存不足

解决OpenCV Error: Insufficient memory (Failed to allocate 3221225472 )

这是因为opencv对输入的图片像素是有限制的,图片像素过大,opencv算出来的值超过了int的最大值,就会报错。

我是添加了imgsz=1120去解决了这个问题,去改变图片的像素

yolo train model=yolov8m.pt data=ultralytics/cfg/datasets/myVisDrone.yaml batch=1 epochs=20 imgsz=1120 workers=0

Closing dataloader mosaic

在跑模型过程中出现Closing dataloader mosaic

Closing dataloader mosaic 是指在数据加载过程中,特别是在使用 Mosaic 数据增强时,PyTorch 的 DataLoader 组件正在关闭相关的处理程序或进程。Mosaic 数据增强是一种将多张图像拼接在一起生成新图像的技术,用于提升模型的泛化能力。

因为yolov8是默认设置close_mosaic=10,需要把它修改为0
close_mosaic: 禁用mosaic增强的最后第几个轮次。可以指定一个整数值,表示在训练的最后第几个轮次中禁用mosaic增强。

我们可以通过添加close_mosaic=0

yolo train model=yolov8m.pt data=ultralytics/cfg/datasets/myVisDrone.yaml batch=1 epochs=20 close_mosaic=0 imgsz=1120 workers=0

Dataloader共享内存不足

DefaultCPUAllocator: not enough memory: you tried to allocate 8000000 

可以通过减小batch_size和将num_workers置为0(添加workers=0)

yolo train model=yolov8m.pt data=ultralytics/cfg/datasets/myVisDrone.yaml batch=1 epochs=20 imgsz=1120 workers=0

训练模型

【小本本笔记】yolov8跑模型缓慢,内存提示不足?_第1张图片

你可能感兴趣的:(笔记,人工智能,深度学习)