首页 > 其他分享 >pytorch 清除中间变量优化显存

pytorch 清除中间变量优化显存

时间:2024-03-23 16:55:06浏览次数:24  
标签:显存 变量 清除 回收 pytorch del cuda

参考(这里面有各种方法):
https://cloud.tencent.com/developer/article/2374407

最近训一个程序,发现训了一半突然 out of memory 了。

正常来说, out of memory 第一个 batch 就应该出现了,而不是训练一半再报错,感觉有些中间变量没有回收的锅

通常情况下,数据先存在内存上,然后把每个 batch 的数据移到 cuda 上,丢进模型。

移到 cuda 上的数据 input, lables, 还包括一些中间的 loss 和 和 output,都是可以清除的,即 del 掉。

但是会发现一个问题,即使把它 del 掉了,用 nvidia-smi 查看,会发现显存占用还是没变化,这个时候需要

torch.cuda.empty_cache()

来手动让 pytorch 去回收一遍显存,当然由于显存的特性,这样也不一定能保证能够回收干净。

在临时用完了一些很大的临时变量时,就可以这样回收一下。

标签:显存,变量,清除,回收,pytorch,del,cuda
From: https://www.cnblogs.com/coldchair/p/18091306

相关文章

  • 如何用pytorch调用预训练Swin Transformer中的一个Swin block模块
    1,首先,我们需要知道的是,想要调用预训练的SwinTransformer模型,必须要安装pytorch2,因为pytorch1对应的torchvision中不包含SwinTransformer。2,pytorch2调用预训练模型时,不建议使用pretrained=True,这个用法即将淘汰,会报警告。最好用如下方式:fromtorchvision.models.swin_trans......
  • 遥感影像问题深度学习:PyTorch在气候变化研究中的应用
    我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时代已然来临。随着小卫星星座的普及,......
  • ubuntu安装cuda和cudnn,并测试tensorflow和pytorch库的与cuda的兼容性(2023年版)
    lspci|grep-invidia查看nvidia设备,看到GPUgcc--version检查是否安装上gcc软件包根据官方文档指示,pipinstalltorch==1.13.1+cu117-fhttps://download.pytorch.org/whl/torch_stable.html,pipinstalltorchaudio==0.13.1+cu117-fhttps://download.pytorch.org/whl/torch......
  • Pytorch学习笔记(一)
    一、Tensor1.1 基本概念Tensor,又名张量,是pytorch中重要的一种数据结构,从工程的角度上来说,可以很简单将其认为是与numpy的nadarray类似的数组,用来保存数据支持高效的科学计算。但是PyTorch中的Tensor支持cuda用GPU加速。1.2基本操作从接口的角度来说,对tensor的操作可以分......
  • PyTorch张量
    目录基本创建方式  创建线性和随机张量张量元素类型转换 阿达玛积张量数值计算 ......
  • Python实战:PyTorch入门
    一、引言深度学习是近年来人工智能领域的热点之一,其在图像识别、语音识别、自然语言处理等领域取得了显著的成果。Python作为一门流行的编程语言,拥有丰富的深度学习框架,其中PyTorch是近年来备受关注的一个。本文将详细介绍PyTorch的基本概念、安装方法、基础知识以及实战项......
  • kswapd0挖矿病毒的发现与清除 导致CPU过高问题
    kswapd0挖矿病毒的发现与清除BobAnkh​清华大学/网文爱好者/游戏爱好者/猫猫爱好者 26人赞同了该文章写下这篇博客的原因是实验室的服务器在安装docker之后不幸感染上了挖矿病毒,便将发现与清除的方法记录于此,如有错漏,恳请指正本文同样发于本人的bl......
  • Pytorch神经网络-元组/列表如何喂到神经网络中
    ......
  • 本地搭建深度学习训练环境(配置conda环境 cuda pytorch...)
    目录简介Nvidia驱动和cudatoolKit简介首先我们要下载的东西包括:anaconda(虚拟环境管理)pycharm(代码项目编辑器)Nvidia驱动和cudatoolKitpytorch(最好使用wheel)其中,anaconda和pycharm的下载比较简单,这里不在赘述。主要讲解后两个:Nvidia驱动和cudatoolKitNvidia驱动是向......
  • 通俗易懂解释python和anaconda和pytorch以及pycharm之间的关系
    Python:Python就像是一门编程语言的工具箱,你可以把它看作是一种通用的编程语言,就像是一把多功能的工具刀。你可以使用Python来编写各种类型的程序,就像使用工具刀来制作各种不同的手工艺品一样。Anaconda:Anaconda就像是一个装有不同种类工具的大工具箱。这个工具箱里包括了Py......