TensorFlow 显存使用机制详解


Posted in Python onFebruary 03, 2020

默认情况下,TensorFlow 会映射进程可见的所有 GPU 的几乎所有 GPU 内存(取决于 CUDA_VISIBLE_DEVICES)。通过减少内存碎片,可以更有效地使用设备上相对宝贵的 GPU 内存资源。

在某些情况下,最理想的是进程只分配可用内存的一个子集,或者仅根据进程需要增加内存使用量。 TensorFlow 在 Session 上提供两个 Config 选项来进行控制。

(1) : 自主申请所用的内存空间

第一个是 allow_growth 选项,它试图根据运行时的需要来分配 GPU 内存:它刚开始分配很少的内存,随着 Session 开始运行并需要更多 GPU 内存,我们会扩展 TensorFlow 进程所需的 GPU 内存区域。请注意,我们不会释放内存,因为这可能导致出现更严重的内存碎片情况。要开启此选项,请通过以下方式在 ConfigProto 中设置选项:

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)

(2) 规定 可用最大内存占单个GPU的总内存比例

第二个是 per_process_gpu_memory_fraction 选项,它可以决定每个可见 GPU 应分配到的内存占总内存量的比例。例如,您可以通过以下方式指定 TensorFlow 仅分配每个 GPU 总内存的 40%:

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
session = tf.Session(config=config, ...)

如要真正限制 TensorFlow 进程可使用的 GPU 内存量,这非常实用。

以上这篇TensorFlow 显存使用机制详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之常用运算符
Aug 29 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
python去掉空白行的多种实现代码
Mar 19 Python
python中sys.argv函数精简概括
Jul 08 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
django模板加载静态文件的方法步骤
Mar 01 Python
全面了解django的缓存机制及使用方法
Jul 22 Python
Python pip install如何修改默认下载路径
Apr 29 Python
利用scikitlearn画ROC曲线实例
Jul 02 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 Python
opencv python如何实现图像二值化
Feb 03 #Python
python实现人机猜拳小游戏
Feb 03 #Python
如何使用selenium和requests组合实现登录页面
Feb 03 #Python
检测tensorflow是否使用gpu进行计算的方式
Feb 03 #Python
Tensorflow 实现释放内存
Feb 03 #Python
手把手教你进行Python虚拟环境配置教程
Feb 03 #Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 #Python
You might like
西德产收音机
2021/03/01 无线电
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
PHP7.0版本备注
2015/07/23 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
js技巧--转义符"\"的妙用
2007/01/09 Javascript
javascript &&和||运算法的另类使用技巧
2009/11/28 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
JS实现简单打字测试
2020/06/24 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
详解Python中的各种函数的使用
2015/05/24 Python
python交互界面的退出方法
2019/02/16 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
Python绘制动态水球图过程详解
2020/06/03 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
小组合作学习反思
2014/02/18 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
法制演讲稿
2014/09/10 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
施工员岗位职责范本
2015/04/11 职场文书
小学语文国培研修日志
2015/11/13 职场文书