我认为最近 Colab 或 Cuda 的更新正在抛弃 YOLOv4 模型。我之前构建了这个笔记本并用它训练了一个完整的模型,没有任何问题,但现在当我运行完全相同的代码且没有任何更改时,我遇到了这个问题:
672 x 672
try to allocate additional workspace_size = 65.03 MB
CUDA allocate done!
Loaded: 2.962808 seconds - performance bottleneck on CPU or Disk HDD/SSD
CUDA Error Prev: an illegal memory access was encountered
Darknet error location: ./src/dark_cuda.c, check_error, line #81
CUDA Error Prev: an illegal memory access was encountered: File exists
还有其他人遇到过这个问题吗?这似乎是最近的事情,因为到目前为止还没有人能够弄清楚。这就是我运行暗网的方式:
!./darknet detector train data/obj.data cfg/custom-yolov4-detector.cfg yolov4.conv.137 -dont_show -map -clear
Google Colab 似乎减少了免费笔记本所允许的内存。
尝试更改配置中的批量大小和细分。
batch=32 和 subdivisions=8 为我解决了这个问题。
当我将图像尺寸从 608x608 更改为 416x416 时,我也遇到了同样的问题。之后就可以工作了
如果您在 Colab 上运行 YOLOv4 并遇到错误:
CUDA status Error: file: ./src/dark_cuda.c: func: cuda_make_array() line: 480
CUDA Error: out of memory
Darknet error location: ./src/dark_cuda.c, cuda_make_array(),
这可能是由于 Colab 免费套餐或长期使用后的 Colab Pro 上的 GPU 内存有限。我是这样解决的:
调整批次和细分:通过更改配置文件中的这些值来减少内存负载:
将
batch
设置为 32
将
subdivision
设置为 16
减少宽度和高度:降低分辨率以适应内存限制:
将
width
从 608
更改为 416
将
height
从 608
更改为 416
进行这些调整后,我的训练运行成功,没有出现内存错误。
我希望这可以帮助面临类似问题的人!