解决:RuntimeError: CUDA out of memory.

解决:RuntimeError: CUDA out of memory.

原因:GPU内存不足

解决方案:

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

2.减小batch_size

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

3.更改代码

在训练代码前添加

with torch.no_grad():

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

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

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

loss_sum.requires_grad_(True)

在这里插入图片描述

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')

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

!nvidia-smi # 查看显卡信息

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

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

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

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

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

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

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

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

参考链接

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值