当前位置:   article > 正文

解决:RuntimeError: CUDA out of memory.

runtimeerror: cuda out of memory.

解决:RuntimeError: CUDA out of memory.

原因:GPU内存不足

解决方案:

1.更换更大的GPU或者租用服务器

2.减小batch_size

一般为2的幂次,减小为4的话还不行就换方法。

3.更改代码

在训练代码前添加

with torch.no_grad():
  • 1

在这里插入图片描述
修改之后可能会出现如下错误:

RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn
  • 1

这是由于PyTorch在创建张量的时候默认requires_grad=False,需要手动设置一下,在固定位置添加如下代码(注意loss的名字):

loss_sum.requires_grad_(True)
  • 1

在这里插入图片描述

4.尝试在Google Colab上运行

(1)注册Google drive(谷歌云盘
因为整个流程是在Google的平台上进行的,所以科学上网必不可少。
其次需要准备谷歌账号注册Google drive,需此作为自己项目的传输媒介。
Google Driver官网:https://drive.google.com/drive/
Colab官网:https://colab.research.google.com/
登录自己的谷歌账号注册谷歌云盘。
(2)上传项目文件
点击左侧“新建”——“文件夹”——“工程名称”,然后上传自己的项目文件。
右击空白上传和从系统文件夹拖拽的方式均可。
最好将项目文件压缩上传,由于网速原因,直接上传文件夹,里面的文件很大几率漏传,特别是数据集中的图片和标签漏传,想将其重新补传进去是一件很头疼的问题,本文以压缩包zip格式为例。
(3)安装Colaboratory
在Google drive上 “新建”——“更多”——“关联更多应用”,搜索“Colaboratory”,然后按照提示进行安装。
过程中可能需要再次登录谷歌账号,乃至输入安全验证码,验证码一般为10位数字,可以登录谷歌邮箱在账户管理中查询到。
之后,“新建”——“更多”——“Google Colaboratory”,创建文本。
在这里插入图片描述
(4)colab相关操作和命令
接着进入colab后,便可以看到类似于jupyter的编程笔记本,不同的是colab自带配置好的环境,可将其左上方改为自己的所需名称,例如:“demo”。
点击上侧工具栏“代码执行程序”——“更改运行时类型”,及可以选择所需硬件“GPU/TPU”.
紧接着我们需要挂载我们的Google drive 才能载入我们的项目文件,输入如下命令:

from google.colab import drive
drive.mount('/content/drive')
  • 1
  • 2

结果如下即为成功。
在这里插入图片描述
查看GPU信息

!nvidia-smi # 查看显卡信息
  • 1

若之前在云盘中上传的是项目压缩包,则需要以下命令对其压缩包进行解压:(tip:可点击左侧文件夹标志,出现文件夹可视化树状图,右击快速复制文件夹或文件所在路径)

!unzip -uq "/content/drive/MyDrive/demo/yolov5-master.zip" -d "/content/drive/MyDrive/demo"
# !unzip -uq "压缩包所在路径" -d "解压目标文件夹路径"
  • 1
  • 2

解压完成后,执行如下命令进入项目文件夹:

%cd /content/drive/MyDrive/项目名称
# %cd 项目文件所在路径
  • 1
  • 2

如下命令可展示当前路径下所有文件夹及文件:

!ls # 展示当前路径文件列表
  • 1

若该项目还需继续修改配置或参数,也可以直接双击左侧文件夹路径中文件进行修改,特别是项目中很多路径问题,建议上传项目前,已知路径均修改为项目的相对路径;若为完整可执行项目,就到了最后一步执行了:

!python train.py # !python 要执行的py文件
  • 1

参考链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/203428?site
推荐阅读
相关标签
  

闽ICP备14008679号