Tensorflow-gpu 显存不会自动释放?

在jupyter上跑with tf.Session() as sess语句结束后,电脑变得很卡,打开任务管理器
显存占用3.2G,点了restart显存才能释放,我显存4G的,这是什么原因?为什么教学视频中用cpu
没这个问题

0

1个回答

教学视频中用cpu,你用的GPU,能一样么。显存占用高是正常的。但是卡是不正常的。

0
WPL427
WPL427 问题是显存一直占用,程序结束也不会释放,运行下一个程序显存直接爆了,上网搜了半天只有很多提出这个问题的人,没人能解答
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
错误调试:Ubuntu-Tensorflow ,程序手动结束后,GPU的显存没有被释放
如题:Ubuntu-Tensorflow ,程序被手动强行结束后(win+c),程序所占用的GPU的显存没有被释放掉,影响下次运行,会出现以下错误:nn        failed to allocate 4.75G (5102921216 bytes) from device: CUDA_ERROR_OUT_OF_MEMORYnn解决方法:nn       方法1)终端上:sudo kill -...
【Ubuntu-Tensorflow】程序结束掉GPU显存没有释放的问题
笔者在ubuntu上跑Tensorflow的程序的时候,中途使用了Win+C键结束了程序的进行,但是GPU的显存却显示没有释放,一直处于被占用状态。 n使用命令 nwatch -n 1 nvidia-smi n显示如下 n n两个GPU程序都在执行中,实际上GPU:0已经被笔者停止了,但是GPU没有释放,进程还在继续,所以只有采用暴力手段了,将进程手动关闭掉,进程编号如图中红线部分,由于笔者在两个G
TensorFlow 显存使用机制
默认情况下,TensorFlow 会映射进程可见的所有 GPU 的几乎所有 GPU 内存(取决于 CUDA_VISIBLE_DEVICES)。通过减少内存碎片,可以更有效地使用设备上相对宝贵的 GPU 内存资源。nn在某些情况下,最理想的是进程只分配可用内存的一个子集,或者仅根据进程需要增加内存使用量。 TensorFlow 在 Session 上提供两个 Config 选项来进行控制。nn(1)...
深度学习入门之Tensorflow安装、keras踩坑总结(二)——tensorflow指定GPU、Jupyter notebook切换内核、显存释放等
在上篇文章中,我们总结了一些在Theano安装使用过程中遇到的问题以及解决办法,接下来我们主要说一下Tensorflow。nn1. Tensorflow安装nnTensorflow如果直接使用pip命令的话,可能十分耗时,下载速度非常慢,还很容易中断,所以大家可以使用清华大学的开源软件镜像站进行下载https://mirrors.tuna.tsinghua.edu.cn/help/tensorfl...
自定显存清除工具
通过设置不一样的分辨率,达到定时清除显存的目的。
caffe显存问题
caffe在test的时候,blob的capacity_这个值是初始化是根据deploy的h和w来确定的,在真正开始跑的时候,可能test的时候输入尺寸并不是deploy的大小,比这个大小小的时候,在reshape之后,由于count_的值小于capacity_导致capacity_并不更新,从而在分配显存的时候,总是对不上,感觉显存多分配了。这是在图像超分遇到的问题,如果不存在这个用法,也就是说...
Kill 进程,释放 GPU 显存
Kill 进程,释放 GPU 显存n文章目录Kill 进程,释放 GPU 显存GPU显存未被释放情形:清理/释放进程kill 与 kill -9 的区别nGPU显存未被释放情形:nXShell 输入命令:nnvidia-smi nn查看GPU使用的进程n如下:n图片忘了截图 > :: <nn清理/释放进程n kill -9 PIDnnPID 表示进程号nTERM(或数字9)表示无条...
Tensorflow显存溢出
报错信息 一直是 InternalError: Dst tensor is not initialized.rn 然后显示一大堆信息,通过谷歌大部分找到的就是 GPU 显存溢出。然后rn加上 CUDA_VISIBLE_DEVICES=1rnEnvironment Variable Syntax                               Resultsrn CUDA_VISIBL
180306 Keras+Tensorflow指定运行显卡以及关闭session空出显存
n查看Gpu编号nnnwatch nvidia-sminnn程序开头指定程序运行的Gpunnnos.environ['CUDA_VISIBLE_DEVICES'] = '1'nnn创建tensorflow的Sessionnnnimport osnfrom keras.backend.tensorflow_backend import set_sessionnnnconfig = tf.Config...
关于TensorFlow GPU 跑神经网络爆内存的处理办法
本人上一篇博客介绍了vgg16模型的finetuning(网址:点击打开链接),在cpu上跑没问题,但是我在全部复制到gpu(gtx750TI)上跑却发生爆内存的情况,下面介绍一下我的解决办法。      不得不承认爆内存跟我的渣渣gpu有关,为了尽量的减少gpu内存的使用率,在加载vgg16模型的时候并没有直接调用命令,而是把网络的权重跟偏置都设为常值,直接赋值,减少了以后sess.r...
Tensorflow占用GPU显存问题
我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一...
杀死GPU进程并释放显存
kill -9 PID  可用于杀死GPU进程nn若杀死进程后显存仍然占用,可用命令fuser -v /dev/nvidia*  查找占用GPU资源的PID,然后执行kill -9 PID结束进程,这样就可以释放内存了。nn ...
pytorch 减小显存消耗,优化显存使用,避免out of memory
pytorch 减小显存消耗,优化显存使用,避免out of memorynn本文是整理了大神的两篇博客:nn如何计算模型以及中间变量的显存占用大小:nnhttps://oldpan.me/archives/how-to-calculate-gpu-memorynn如何在Pytorch中精细化利用显存:nnhttps://oldpan.me/archives/how-to-use-memory-p...
Pytorch 节省内存、显存的一些技巧
Pytorch中有一些节省内存、显存的技巧,我结合自己的经验以及如下网址所载内容进行描述:n技巧ninplace 操作n比如在relu或者LeakyRelu里面使用inplace,可以减少对内存的消耗;这种操作根据我个人的经验是比较有效的,尤其是在一些ResNet结构单元使用比较多的模型上;具体可以参考下文进行尝试:nn比如ResNet 和 DenseNet 可以将 batchnorm 和relu...
jupyter notebook 用完占着显存不释放解决办法
nvidia-sminn每次用完jupyter ,明明已经退出了,但还是占着显存,用nvidia-smi查看,发现确实pyhton命令还在占着全部显存的进程nn找到那个对应的PID, 执行kill命令,比如进程号PID是5186nnnnkill 5186就可以了n...
Ubuntu 16 释放显存的方法
在跑深度学习的时候,有时候由于关闭程序的不规范,导致显存一直被占用,以致于下一次跑网络的时候会出现现存不足的情况。在这种情况下可以使用如下指令:sudo kill -9 PID    PID这里应该由具体你想关闭哪个占用现存的程序的PID号代替,输入指令:watch -n 1 nvidia-smi    即可查看哪些程序占用了多少显存,如下图: n n    那么如果我想结束python进程的话(因
Ubuntu释放显存
今天用GPU运行一个tensorflow n程序,因故意外停止后就再也不能运行程序了。 n n n看警告怀疑是显存没有被释放。用nvidia-smi命令来查看一下,果不其然: n n用命令根据PID关了对应的进程就好了sudo kill -9 PID本例中用sudo kill -9 2574,就可以了,再次用nvidia-smi查看,发现对应进程已经被杀死,相关显存被成功释放。
Linux释放GPU显存
用tensorflow做实验,有时候会由于某种原因,在关闭程序后,GPU的显存仍处于被占用的状态,而用nvidia-smi查不到对应的进程pid. n这时释放显存的方法:nnsudo fuser /dev/nvidia*nn该命令会显示所有占用nvidia设备的进程pid,将这些pid逐个kill掉:nnkill -9 pidnn发现显存已经被释放。 n不过,造成这种显存不能被释放现象的原因尚不清...
Nvidia GPU 内存释放
n终端输入:nvidia-smi n n2.终端输入:sudo kill 9 PID号nnn完成!
【Linux】linux无进程显示占用的显存释放方法
运行一个程序突然崩了,但是显存并没有释放。nn用nnnnvidia-sminn查看显存占用情况时,nnnn可以看到,显存已经所剩无几,但是并没有进程显示占用。nn使用命令nnnfuser -v /dev/nvidia*nn查看,nnnn我一般使用nnnsudo kill -9 PID(替换进程号)nn将/dev/nvidia0的几个进程kill掉就可以了。nn在查看一下显存。nnnn已经释放了。n...
GPU显存管理
nGPU显存管理rn rnrnGPU:有两种方式访问GDDR5,一种是HUB统一接口进行分配,另一种是直接调Controller,比如Depth block,color block,texture block等都是直接Controller。直接调用的方式肯定快一些,我觉得这是对像纹理这样比较大块的内容的特殊照顾,显卡的内存结构除了有物理上的结构以外,肯定还有逻辑上的划分。把物理内存分成大小适中的逻...
linux CUDA nvidia-smi无显存占用 手动释放
n1 nvidia-smi 查看显存占用n2 fuser -v /dev/nvidia* 查看占用的死进程IDnn3 sudo kill -9 PID(替换进程号)nn
如何释放GPU一直占用的显存?
GPU 的实时状态监测nnnvidia-smi -lnnnvidia-smi -l 1 会每秒钟提供GPU使用率nnn+-----------------------------------------------------------------------------+n| NVIDIA-SMI 367.48 Driver Version: 36...
【原创】如何解决python进程被kill掉后GPU显存不释放的问题
今早kill掉服务器里两个python进程,结果发现GPU的显存并没有被释放。在网上查了各种方法,最后搞定。这是进程被kill掉后显存依旧被占的情景:莫慌~试试以下几步:1 重新开一个shell,然后输入: ps aux|grep user_name|grep python。所有该用户下的python程序就会显示出来(很多在用watch命令都不会显示的进程在这里可以看到);2 然后再一个个用kil...
Linux显存占用无进程清理方法
在跑Caffe、TensorFlow、pytorch之类的需要CUDA的程序时,强行Kill掉进程后发现显存仍然占用,这时候可以使用如下命令查看到top或者ps中看不到的进程,之后再kill掉:rnfuser -v /dev/nvidia*rnrn接着杀掉显示出的进程(有多个):rnkill -9 12345rnkill -9 12345mrnrn批量清理显卡中残留进程:rnsudo fuser -v /dev/...
pytorch显存越来越多的一个潜在原因-- 这个函数还没有在torch.cuda.Tensor中定义
最近在用pytorch跑实验,有如下操作需要用到: (pytorch版本为0.3.1)nnnclass SpatialFilter(nn.Module):n    def __init__(self,mode=True,sf_rate=0.8):n        '''n        给定特征图求hot_mapn        '''n        super(SpatialFilter,se...
利用tensorflow时gpu显存、利用率等的查看且预估
深度学习中 GPU 和显存分析n浅谈深度学习:如何计算模型以及中间变量的显存占用大小n使用Tensorflow或Keras时对GPU内存限制ntensorflow 多GPU编程 完全指南ntensorflow显存不够使用如何解决(windows系统)nn...
GPU 命令行释放内存
我们在使用tensorflow+pycharm 写程序的时候, 有时候会在控制台终止掉正在运行的程序,但是有时候程序已经结束了,nvidia-smi也看到没有程序了,但是GPU的内存并没有释放,那么怎么解决该问题呢?n首先执行下面的命令nsudo fuser -v /dev/nvidia* #查找占用GPU资源的PIDn因为我们只有一块显卡,所以显示如下图所示: 可以看到我们的nvidia0上还有一
mxnet 显存优化
现状:基于 mxnet 开发的深度学习应用比 tensorflow 等框架 占用的显存更少、运行更快;nnmxnet 官方网站有一篇文章介绍了 mxnet 在显存方面的优化,以下概括大意:nn使用同一个图去计算前向预测和反向传播还是显式地指定反向传播路径?Caffee,CXXNet,Torch 选择了前者,Theano,CGT,mxnet 选择了后者,同时 mxnet 也支持类似前者的情况;使用后...
Linux 释放cpu&gpu内存、显存和硬盘
free -mfree -mn total used free shared buff/cache availablenMem: 128831 15666 23617 406 89547 111448nSwap: 130986
pytorch 显存逐渐增大
在训练过程中,显存随着batch的增加而增大,特别是在预测的时候.nn这时候可能是因为在训练过程中存储的数组是添加的而不是覆盖的.例如在预测过程中将所有结果逐渐添加保存到一个list中,导致list越来越大,占用的显存越来越多,从而导致oom或者卡死现象.nn如果一定要使用添加数组,可以考虑使用np.save分布存储,再使用np.load读取,这样就不会添加进显存.nn使用nntorch.cuda...
深度学习笔记(二):基于tensorflow gpu版本的深度神经网络程序总览
在第一篇笔记深度学习笔记(一):基于numpy的深度神经网络程序总览 之后,又用tensorflow的gpu版本实现了一遍,果然封装很好,写起来很舒服,速度也快很多,100次epoch分分钟就结束了,效果和第一篇笔记中基于numpy的效果差不多,以下是代码,比基于numpy的代码少了一多半。
nvidia-smi GPU的程序kill后未释放显存
tensorflow数据并行,中途中断了,毕竟头一次自己的程序并行跑,很有可能就出错。结果某次出错,GPU并未释放内存;nnnnnn1 fuser -v /dev/nvidia*nnnnnn然后需要逐个杀死,注意使用管理员身份nn杀死之后,世界清净了:nnn...
Tensorflow与Keras自适应使用显存
Tensorflow支持基于cuda内核与cudnn的GPU加速,Keras出现较晚,为Tensorflow的高层框架,由于Keras使用的方便性与很好的延展性,之后更是作为Tensorflow的官方指定第三方支持开源框架。但两者在使用GPU时都有一个特点,就是默认为全占满模式。在训练的情况下,特别是分步训练时会导致显存溢出,导致程序崩溃。可以使用自适应配置来调整显存的使用情况。nnnn一、Ten...
tensorflow入门(二)---tensorflow显存管理
在运行Tensorflow上面的blog的小程序的时候程序我们会遇到一个问题,当然这个问题不影响我们实际的结果计算,但是会给同样使用这台计算机的人带来麻烦,程序会自动调用所有能调用到的资源,并且全占满,在自己的PC上没问题,但是在服务器上,问题就很大,因为一旦你运行程序,占满显存别人就不能再用了,解决方法是我们通常是给程序运行指定一块GPU,然后限制其使用比例:nimport tensorflo
解决进程杀死,显存仍在的问题
1、用nvidia-smi也好,top也好都找不到kill掉的进程了,但是显存仍然占用没有被释放,怎么办呢?毕竟top也找不到进程号呀 n用以下指令查找出top没有而他有的进程nnfuser -v /dev/nvidia*nnnn逐个kill掉top中不显示的进程就可以了...
tensorflow使用GPU训练时的显存占用问题
最近用GoogleNet (inception-v3)做fine-tune训练时,遇到了一个问题。当我选择单个GPU训练时候,服务器中所有的GPU显存都会被占满,如下图所示:nnn    出现以上问题的原因是tensorflow在训练时默认占用所有GPU的显存。n    可以通过以下方式解决该问题:n1、在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数
nvidia gpu kill进程后,显存仍未清
pytorch设置线程数为8rndataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=opt.batchsize,num_workers=8)rnrnkill掉该代码对应的进程后,发现显存仍未清除rn可以使用sudo fuser -v /dev/nvidia*详细查看最近在GPU上运行的进程rn其中:rnfuse...
Pytorch内存泄露(僵尸进程)解决办法
nvidia-smi         发现内存泄露问题,即没有进程时,内存被占用fuser -v /dev/nvidia*         发现僵尸进程ps x |grep python|awk '{print $1}'|xargs kill        杀死所有僵尸进程命令解读:ps x: show all process of current usergrep python: to get ...
ubuntu释放显卡内存
在服务器上跑深度学习代码时,构造了一个(256,100,100)的张量,但显示nnResource exhausted: OOM when allocating tensor with shape[600] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfcnn一开始以为是因为b...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 不会java 大数据学习 不会java学习大数据