Colab无法加载缓存 训练YOLOv5车辆识别模型时卡在图片缓存阶段
YOLOv5在Google Colab训练车辆识别数据集卡住故障解决方法
故障现象
训练任务在图像缓存阶段无报错停止,输出日志如下:
train: Scanning 'MyDataset/train/labels.cache' for images and labels... 26559 found, 0 missing, 0 empty, 0 corrupted: 100% 26559/26559 [00:00<?, ?it/s] train: Caching images (8.5GB): 62% 16425/26559 [00:46<00:30, 330.41it/s]C CPU times: user 850 ms, sys: 162 ms, total: 1.01 s Wall time: 1min 26s
小数据集可正常训练,Colab Pro+账号无明确内存不足提示。
解决方案
- 调整缓存策略
训练启动命令中添加--cache disk参数,将原本加载到内存的缓存数据写入Colab临时磁盘,避免内存占用峰值超过实例隐性限制;如果读取速度满足要求,也可以直接移除--cache参数完全关闭缓存功能。 - 清理损坏缓存文件
删除数据集train、val目录下后缀为.cache的所有文件,再重新启动训练,避免不完整的历史缓存文件导致进程死锁。 - 调整缓存读取批次
修改YOLOv5源码中utils/datasets.py的缓存加载批大小参数,降低单时刻内存占用,避免触发Colab的资源限流机制。 - 校验数据集完整性
检查编号在16425附近的训练图片和对应标签文件,确认无格式错误、文件损坏等异常,异常文件会导致缓存进程无报错终止。 - 重新分配运行时资源
断开当前Colab运行时,重新选择高RAM实例后启动训练,避免分配到的实际实例内存配额低于标称值。
内容的提问来源于stack exchange,提问作者Opengl pro
相关产品推荐
相关产品推荐

