YOLO v8 出现内存不足错误,批量大小=1

问题描述 投票:0回答:1

在训练 YoloV8 模型时,出现错误:

torch.cuda.OutOfMemoryError:CUDA 内存不足。尝试分配 24.00 MiB。 GPU 0 的总容量为 10.91 GiB,其中 6.94 MiB 是免费的。包括非PyTorch内存,该进程有10.83 GiB内存 正在使用。所分配的内存中有 10.51 GiB 由 PyTorch 分配,并且 39.52 MiB 由 PyTorch 保留但未分配。如果保留但未分配的内存很大,请尝试设置 max_split_size_mb 以避免 碎片化。请参阅内存管理和 PYTORCH_CUDA_ALLOC_CONF

这种情况发生在 Ubuntu 22.04 LTS、Python 3.11.5、pytorch 2.1.0、ultralytics 8.0.203、batch size=1、GPU NVIDIA 1080 Ti (11 GBytes) 下。

如果我在同一台机器上的 CPU 上运行模型,它就能工作(当然,速度很慢)。在 Windows 10 和 1650 GPU (4 GB) 下,它运行良好。 你遇到过这样的问题吗?有线索吗?

pytorch yolo yolov8
1个回答
0
投票

我最初遇到了同样的问题,但我最终能够通过在

cache=False
方法调用中设置
train()
来修复它。

试试这个:

model = YOLO('yolov8x.pt')
results = model.train(
    data='dataset.yaml',
    epochs=250,
    imgsz=640,
    batch=-1,
    device=0,
    cache=False   # cache=False is important!
)
© www.soinside.com 2019 - 2024. All rights reserved.