yolo训练报错“CUDA Error: out of memory”(3060显卡6G显存)

问题遇到的现象和发生背景
按照课程做试验到训练的步骤,训练时报错“CUDA Error: out of memory”,程序停止。我使用的GPU是 RTX 3060 Laptop,显存是6G,参数已经调整为:

batch=64
subdivisions=64

问题相关代码,请勿粘贴截图

darknet.exe detector train data\tt100k.data cfg\yolov4-tt100k.cfg yolov4.conv.137 -map

运行结果及报错内容

896 x 896
Create 6 permanent cpu-threads
Try to set subdivisions=64 in your cfg-file.
CUDA status Error: file: D:\work-ai\darknet\src\dark_cuda.c : cuda_make_array() : line: 492 : build time: Feb 23 2022 - 12:15:10

CUDA Error: out of memory
Darknet error location: D:\work-ai\darknet\src\dark_cuda.c, check_error, line #69
CUDA Error: out of memory: No error

我的解答思路和尝试过的方法

把参数subdivisions修改为 16、32、64都报错,报错时用nvidia-smi查看GPU显存,发现已使用5.359G

我想要达到的结果

运行这个“中国交通标志识别”项目,大概多少G显存够用?

1 batchsize调到8 也是一样的报错。
2 训练前我用nvidia-smi查看GPU显存,已使用0.121G(总共6G),一旦开始训练已使用显存数据就开始上升,最终到5.359G后程序报错停止运行。

img

img

你用nvidia-smi 看一下gpu内存,可以把占用很大的进程杀死,可能是之前未正常退出的进程,batchsize调到8试试