请问tensorflow中程序运行完如何释放显存 5C

在网上没检索到相关的代码。
已经掌握按比例/按需显存管理,现在想让模型在运行结束后自动释放显存,qing'wen'you'shen'me'ban'fa

0

1个回答

按理说,程序整个执行完了会自动释放的,你需要同时运行多个程序么?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
(原)tensorflow中函数执行完毕,显存不自动释放
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7608916.html 参考网址: https://stackoverflow.com/questions/39758094/clearing-tensorflow-gpu-memory-after-model-execution https://github.com/tensorflow/te...
【Ubuntu-Tensorflow】程序结束掉GPU显存没有释放的问题
笔者在ubuntu上跑Tensorflow的程序的时候,中途使用了Win+C键结束了程序的进行,但是GPU的显存却显示没有释放,一直处于被占用状态。 使用命令 watch -n 1 nvidia-smi 显示如下 两个GPU程序都在执行中,实际上GPU:0已经被笔者停止了,但是GPU没有释放,进程还在继续,所以只有采用暴力手段了,将进程手动关闭掉,进程编号如图中红线部分,由于笔者在两个G
错误调试:Ubuntu-Tensorflow ,程序手动结束后,GPU的显存没有被释放
如题:Ubuntu-Tensorflow ,程序被手动强行结束后(win+c),程序所占用的GPU的显存没有被释放掉,影响下次运行,会出现以下错误:         failed to allocate 4.75G (5102921216 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY 解决方法:        方法1)终端上:sudo kill -...
TensorFlow 显存使用机制
默认情况下,TensorFlow 会映射进程可见的所有 GPU 的几乎所有 GPU 内存(取决于 CUDA_VISIBLE_DEVICES)。通过减少内存碎片,可以更有效地使用设备上相对宝贵的 GPU 内存资源。 在某些情况下,最理想的是进程只分配可用内存的一个子集,或者仅根据进程需要增加内存使用量。 TensorFlow 在 Session 上提供两个 Config 选项来进行控制。 (1)...
180306 Keras+Tensorflow指定运行显卡以及关闭session空出显存
查看Gpu编号 watch nvidia-smi 程序开头指定程序运行的Gpu os.environ['CUDA_VISIBLE_DEVICES'] = '1' 创建tensorflow的Session import os from keras.backend.tensorflow_backend import set_session config = tf.Config...
Tensorflow与Keras自适应使用显存
Tensorflow支持基于cuda内核与cudnn的GPU加速,Keras出现较晚,为Tensorflow的高层框架,由于Keras使用的方便性与很好的延展性,之后更是作为Tensorflow的官方指定第三方支持开源框架。但两者在使用GPU时都有一个特点,就是默认为全占满模式。在训练的情况下,特别是分步训练时会导致显存溢出,导致程序崩溃。可以使用自适应配置来调整显存的使用情况。 一、Ten...
tensorflow显存、载入模型、优化器(个人笔记)
使用tensorflow遇到的几个问题: 1.gpu显存占用问题 2.tensorflow restore部分模型的问题 3.修改LSTMCell的问题 4.运行Optimizer时占用巨大显存 着实让人头疼。
Ubuntu 16 释放显存的方法——深度学习模型关闭异常导致的现存占满
 在跑深度学习的时候,有时候由于关闭程序的不规范,导致显存一直被占用,以致于下一次跑网络的时候会出现现存不足的情况。在这种情况下可以使用如下指令:    kill -9 PID     PID这里应该由具体你想关闭哪个占用显存的程序的PID号代替,输入指令: watch -n 1 nvidia-smi     即可查看哪些程序占用了多少显存,如下图:       那么如果我想结束...
tensorflow入门(二)---tensorflow显存管理
在运行Tensorflow上面的blog的小程序的时候程序我们会遇到一个问题,当然这个问题不影响我们实际的结果计算,但是会给同样使用这台计算机的人带来麻烦,程序会自动调用所有能调用到的资源,并且全占满,在自己的PC上没问题,但是在服务器上,问题就很大,因为一旦你运行程序,占满显存别人就不能再用了,解决方法是我们通常是给程序运行指定一块GPU,然后限制其使用比例: import tensorflo
Pytorch释放显存占用
如果在python内调用pytorch有可能显存和GPU占用不会被自动释放,此时需要加入如下代码 torch.cuda.empty_cache() 我们来看一下官方文档的说明 Releases all unoccupiedcached memory currently held by the caching allocator so that those can be used in ot...
自定显存清除工具
通过设置不一样的分辨率,达到定时清除显存的目的。
【原创】如何解决python进程被kill掉后GPU显存不释放的问题
今早kill掉服务器里两个python进程,结果发现GPU的显存并没有被释放。在网上查了各种方法,最后搞定。这是进程被kill掉后显存依旧被占的情景:莫慌~试试以下几步:1 重新开一个shell,然后输入: ps aux|grep user_name|grep python。所有该用户下的python程序就会显示出来(很多在用watch命令都不会显示的进程在这里可以看到);2 然后再一个个用kil...
GPU显存管理
GPU显存管理   GPU:有两种方式访问GDDR5,一种是HUB统一接口进行分配,另一种是直接调Controller,比如Depth block,color block,texture block等都是直接Controller。直接调用的方式肯定快一些,我觉得这是对像纹理这样比较大块的内容的特殊照顾,显卡的内存结构除了有物理上的结构以外,肯定还有逻辑上的划分。把物理内存分成大小适中的逻...
Ubuntu 16 释放显存的方法
在跑深度学习的时候,有时候由于关闭程序的不规范,导致显存一直被占用,以致于下一次跑网络的时候会出现现存不足的情况。在这种情况下可以使用如下指令:sudo kill -9 PID    PID这里应该由具体你想关闭哪个占用现存的程序的PID号代替,输入指令:watch -n 1 nvidia-smi    即可查看哪些程序占用了多少显存,如下图:     那么如果我想结束python进程的话(因
tensorflow设置显存自适应和显存比例.
转自:http://blog.csdn.net/cq361106306/article/details/52950081 用惯了theano.再用tensoflow发现一运行显存就满载了,吓得我吃了一个苹果。  用天朝搜索引擎毛都搜不到,于是翻墙找了下问题的解决方法,原来有两种  1. 按比例 config = tf.ConfigProto() config.gpu_options.per
多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
服务器有多张显卡,一般是组里共用,分配好显卡和任务就体现公德了。除了在代码中指定使用的 GPU 编号,还可以直接设置可见 GPU 编号,使程序/用户只对部分 GPU 可见。 操作很简单,使用环境变量 CUDA_VISIBLE_DEVICES 即可。 具体来说,如果使用单卡运行 Python 脚本,则可输入 CUDA_VISIBLE_DEVICES=1 python my_script.p...
Tensorflow占用GPU显存问题
我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一...
Caffe tensorflow和keras跑动程序时限制GPU所占显存和强制使用cpu
应用场景:       在实验室或者公司时,一般会遇到服务器紧张的情况。在这种情况下,可以通过限制GPU所占显存来使得一台服务器可以同时跑几个模型,当然,土豪实验室或者公司不用担心这个问题。 由于暂时只接触了Caffe,Tensorflow和keras,现只提供这三种深度学习框架的控制方法。 解决办法:       对于caffe而言,默认不是占满GPU全部的显存,而是通过网络设置batc...
Tensorflow显存溢出
报错信息 一直是 InternalError: Dst tensor is not initialized. 然后显示一大堆信息,通过谷歌大部分找到的就是 GPU 显存溢出。然后 加上 CUDA_VISIBLE_DEVICES=1 Environment Variable Syntax                               Results CUDA_VISIBL
TensorFlow使用显存的设置
TensorFlow默认情况下训练会占用全部显存。 可以设置参数来修改显存使用情况。 设置使用显存比例 在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数的一部分来显式地指定需要分配的显存比例,如下所示: 假如有12GB的显存并使用其中的4GB: gpu_options = tf.GPUOptions(per_process_gpu_memory...
Tensorflow 内存泄露问题
使用tensorflow进行编程时,经常遇到操作不当,带来的内存泄露问题,这里有一个可以帮助debug问题所在方法: https://stackoverflow.com/documentation/tensorflow/3883/how-to-debug-a-memory-leak-in-tensorflow/13426/use-graph-finalize-to-catch-nodes-bein
程序退出后依旧占用GPU和内存资源时强制kill掉进程的方法
【时间】2018.12.13 【题目】程序退出后依旧占用GPU和内存资源时强制kill掉进程的方法 当使用GPU跑程序时,程序退出后依旧占用GPU和内存资源,进程依旧存在时,可以用下面的方法强制kill掉进程: (1)请先查看占用资源的进程归属方是谁,以及运行的是什么指令:    ps -f PID号 (2)然后确认该进程可以kill掉情况下直接杀掉:     kill -9 PID号 ...
程序停止后GPU仍被占用
在跑深度学习程序的时候,有时强制终止程序,可是程序占用的GPU资源仍然没有被释放,被这个坑了好久,还以为是GPU一直被别人抢占了,结果是GPU资源泄露。 可以使用这个命令查看Linux系统GPU的使用情况 nvidia-smi 得到如图结果 此时可以手动kill掉占用GPU的进程,以此来释放GPU资源 kill -9 49461 若是使用了Screen命令在后台运行的程序终止后...
关于TensorFlow GPU 跑神经网络爆内存的处理办法
本人上一篇博客介绍了vgg16模型的finetuning(网址:点击打开链接),在cpu上跑没问题,但是我在全部复制到gpu(gtx750TI)上跑却发生爆内存的情况,下面介绍一下我的解决办法。      不得不承认爆内存跟我的渣渣gpu有关,为了尽量的减少gpu内存的使用率,在加载vgg16模型的时候并没有直接调用命令,而是把网络的权重跟偏置都设为常值,直接赋值,减少了以后sess.r...
Tensorflow 在训练中的内存溢出以及线程安全问题
tensorflow
jupyter notebook 用完占着显存不释放解决办法
nvidia-smi 每次用完jupyter ,明明已经退出了,但还是占着显存,用nvidia-smi查看,发现确实pyhton命令还在占着全部显存的进程 找到那个对应的PID, 执行kill命令,比如进程号PID是5186 kill 5186就可以了 ...
Tensorflow设置显存自适应,显存比例
用惯了theano.再用tensoflow发现一运行显存就满载了,吓得我吃了一个苹果。 用天朝搜索引擎毛都搜不到,于是翻墙找了下问题的解决方法,原来有两种 1. 按比例 config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.4 session = tf.Session(config
深度学习笔记:windows+tensorflow 指定GPU占用内存(解决gpu爆炸问题)
目录 目录 前言 一、指定显卡 二、限制GPU用量 1、设置使用GPU的百分比 三、指定GPU并且限制GPU用量 指定第一块GPU可用 前言 最近在使用深度学习,跑了一个大的model,然后GPU炸了,上网搜索了一下如何解决这个问题,做下笔记,分享给大家。 keras在使用GPU的时候有个特点,就是默认全部占满显存。 这样如果有多个模型都需要使用GPU跑的话,那么限制是很大...
pytorch 显存逐渐增大
在训练过程中,显存随着batch的增加而增大,特别是在预测的时候. 这时候可能是因为在训练过程中存储的数组是添加的而不是覆盖的.例如在预测过程中将所有结果逐渐添加保存到一个list中,导致list越来越大,占用的显存越来越多,从而导致oom或者卡死现象. 如果一定要使用添加数组,可以考虑使用np.save分布存储,再使用np.load读取,这样就不会添加进显存. 使用 torch.cuda...
Tensorflow 内存泄漏问题
session和graph没有释放内存。使用了with关键字可以在session异常退出时也释放内存,否则要用session.close()关闭session。代码如下: session一定要释放: with tf.Seesion() as session: # 在session内部加载保存好的graph saver = tf.train.import_meta_graph('...
tensorflow显存不够使用如何解决(windows系统)
本人在跑完训练部分,然后开始跑测试部分出现了以下问题,这个问题困扰了一上午 查看下显卡发现果然几乎用完了,具体查看步骤请参考:https://blog.csdn.net/zhuimengshaonian66/article/details/81286206 其实之前也出现过一次这种问题,忘记怎么解决了,好像是重启,不建议大家去试,因为下面有完美解决这个问题的办法 我是在 main...
tensorflow 运行时内存持续增长(溢出)
     tensorflow 训练部分代码几乎都采用循环,如果在循环中用到tf的op操作,就会导致节点越来越多,图的大小也不停的增大,故而内存会持续增长常见情况有几种1、sess.run(a+b)      写成sess.run(add_a_b)最好2、tf.train.Saver()    保存模型时候,不要直接写tf.train.Saver().save()/restore(),这样也会导致...
mxnet 显存优化
现状:基于 mxnet 开发的深度学习应用比 tensorflow 等框架 占用的显存更少、运行更快; mxnet 官方网站有一篇文章介绍了 mxnet 在显存方面的优化,以下概括大意: 使用同一个图去计算前向预测和反向传播还是显式地指定反向传播路径?Caffee,CXXNet,Torch 选择了前者,Theano,CGT,mxnet 选择了后者,同时 mxnet 也支持类似前者的情况;使用后...
杀死GPU进程并释放显存
kill -9 PID  可用于杀死GPU进程 若杀死进程后显存仍然占用,可用命令fuser -v /dev/nvidia*  查找占用GPU资源的PID,然后执行kill -9 PID结束进程,这样就可以释放内存了。  ...
Kill 进程,释放 GPU 显存
Kill 进程,释放 GPU 显存 文章目录Kill 进程,释放 GPU 显存GPU显存未被释放情形:清理/释放进程kill 与 kill -9 的区别 GPU显存未被释放情形: XShell 输入命令: nvidia-smi 查看GPU使用的进程 如下: 图片忘了截图 > :: < 清理/释放进程 kill -9 PID PID 表示进程号 TERM(或数字9)表示无条...
tensorflow使用GPU训练时的显存占用问题
最近用GoogleNet (inception-v3)做fine-tune训练时,遇到了一个问题。当我选择单个GPU训练时候,服务器中所有的GPU显存都会被占满,如下图所示:     出现以上问题的原因是tensorflow在训练时默认占用所有GPU的显存。     可以通过以下方式解决该问题: 1、在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数
tensorflow中GPU相关设置解决显存不足
1.显存不足时报错如下:E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERRORE tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn hand...
TensorFlow中指定GPU及GPU显存设置
查看机器上GPU情况 命令: nvidia-smi 功能:显示机器上gpu的情况 命令: nvidia-smi -l 功能:定时更新显示机器上gpu的情况 其中左上侧有0、1、2、3的编号,表示GPU的编号,在后面指定GPU时需要使用这个编号。 在终端执行程序时指定GPU   CUDA_VISIBLE_DEVICES=1   py...
深度学习入门之Tensorflow安装、keras踩坑总结(二)——tensorflow指定GPU、Jupyter notebook切换内核、显存释放等
在上篇文章中,我们总结了一些在Theano安装使用过程中遇到的问题以及解决办法,接下来我们主要说一下Tensorflow。 1. Tensorflow安装 Tensorflow如果直接使用pip命令的话,可能十分耗时,下载速度非常慢,还很容易中断,所以大家可以使用清华大学的开源软件镜像站进行下载https://mirrors.tuna.tsinghua.edu.cn/help/tensorfl...
tensorflow显存管理、tensorflow使用多个gpu训练
 通常在程序开始之前并不知道需要多大的显存,程序会去申请GPU的显存的50% 比如一个8G的内存,被占用了2G,那么程序会申请4G的显存(因为有足够的剩余显存) 如果此时显存被占用7G,那么程序会申请剩下的所有的1G的显存。也许你的程序根本用不着这么多显存,200M也许就够了,这时候如果程序能按照需求去申请就好了,幸运的是,这样的方法是存在的: import tensorflow as t...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 深度学习tensorflow课程 学习完java如何找工作