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 30 Python
python查找目录下指定扩展名的文件实例
Apr 01 Python
在Python中使用mongoengine操作MongoDB教程
Apr 24 Python
python实现复制整个目录的方法
May 12 Python
Django中的文件的上传的几种方式
Jul 23 Python
Python重新加载模块的实现方法
Oct 16 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
微信支付开发维权通知实例
2016/07/12 PHP
JQuery datepicker 使用方法
2011/05/20 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
js格式化时间小结
2014/11/03 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
深入浅析Bootstrap列表组组件
2016/05/03 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
给护士表扬信
2014/01/19 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
创卫工作总结2015
2015/04/22 职场文书
新人入职感言
2015/07/31 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
python实现的web监控系统
2021/04/27 Python