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 相关文章推荐
使用Kivy将python程序打包为apk文件
Jul 29 Python
浅谈使用Python内置函数getattr实现分发模式
Jan 22 Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
Python字符串格式化输出代码实例
Nov 22 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
python实现图片转换成素描和漫画格式
Aug 19 Python
Python基于Faker假数据构造库
Nov 30 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 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
php读取javascript设置的cookies的代码
2010/04/12 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
python实现simhash算法实例
2014/04/25 Python
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
安全生产投入制度
2014/01/29 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
单位租房协议书样本
2014/10/30 职场文书
公司奖励通知
2015/04/21 职场文书
个人承诺书格式范文
2015/04/29 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技