【目标检测】RuntimeError:CUDA error:out of memory问题解决方案

问题描述

在这里插入图片描述

今天在用YOLOv5训练模型的时候发现报错:

RuntimeError:CUDA error:out of memory

查了一下百度的方法 是在Python文件(你要运行哪个就设置哪个,当然也可也通过环境变量统一设置)中手动设置调用GPU的编号

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '1'

结果就是可以跑起来但是根本不调用GPU,所以速度奇慢无比。
(经后来分析因为我使用的云服务器只有一个卡能用,所以默认为0,设置成1应该也是在用0号)
【目标检测】RuntimeError:CUDA error:out of memory问题解决方案_第1张图片可以看到gpu_mem为0,通过命令nvidia-smi查看后台GPU并没有被占用
【目标检测】RuntimeError:CUDA error:out of memory问题解决方案_第2张图片
这似乎就奇了怪了,网上一般都是以上的方法,还有修改cfg文件的方式(关键字 修改subdivisions )但是因为查到都是在YOLOv3的文件里修改,在YOLOv5里我没找到,修改batch-size也没有用,这时候就一筹莫展。

解决方案

终极解决方案就是重新配置了一个实例!

将之前不能使用的主机镜像保存,然后重新配置一个实例,之后将镜像加载进去,之后就可以正常运行了!
【目标检测】RuntimeError:CUDA error:out of memory问题解决方案_第3张图片再次训练gpu_mem不再是0
在这里插入图片描述
通过命令查看后台也不再是No running processes found【目标检测】RuntimeError:CUDA error:out of memory问题解决方案_第4张图片
虽然说这样问题就解决了,但这个问题解决的前提是我使用了租赁的云服务器并且可以方便重新配置并更换镜像的前提下,如果是其他情况下可能上边的os.environ["CUDA_VISIBLE_DEVICES"] = '1'的方法更适用,但也许还有其他的办法,真正出现这个问题的原因我还没有明白,希望有大佬可也赐教,有更好的解决方案。

最后推荐一下我使用的服务器平台AutoDL,感觉价格挺良心,初次使用有免费的金额可以白嫖,挺适合学生的感觉,感兴趣可以点击链接注册了解一下:AutoDL注册

你可能感兴趣的:(目标检测,pycharm,pytorch,服务器,机器学习)