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封装对象实现时间效果
Apr 23 Python
讲解Python中的递归函数
Apr 27 Python
Python监控主机是否存活并以邮件报警
Sep 22 Python
使用Python编写简单的画图板程序的示例教程
Dec 08 Python
Django在win10下的安装并创建工程
Nov 20 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
Python文本文件的合并操作方法代码实例
Mar 31 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
python 实现IP子网计算
Feb 18 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
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
Python基于Faker假数据构造库
2020/11/30 Python
大学生预备党员自我评价分享
2013/11/16 职场文书
小学开学寄语
2014/01/19 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
军训自我鉴定100字
2014/02/13 职场文书
幼儿园老师寄语
2014/04/03 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript