TensorFlow 显存使用机制详解

 更新时间:2020年02月03日 10:37:52   作者:冬日and暖阳  
今天小编就为大家分享一篇TensorFlow 显存使用机制详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

默认情况下,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搭建服务器实现两个Android客户端间收发消息

    python搭建服务器实现两个Android客户端间收发消息

    这篇文章主要为大家详细介绍了python搭建服务器实现两个Android客户端间收发消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python脚本实现集群检测和管理功能

    Python脚本实现集群检测和管理功能

    这篇文章主要介绍了Python脚本实现集群检测和管理功能,本文讲解了实现想法、开发工具选择、经验分享、代码示例等内容,需要的朋友可以参考下
    2015-03-03
  • Django框架搭建的简易图书信息网站案例

    Django框架搭建的简易图书信息网站案例

    这篇文章主要介绍了Django框架搭建的简易图书信息网站案例,结合具体实例形式分析了基于Django框架实现图书信息管理网站的具体步骤、相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-05-05
  • Python文件打包工具一站式指南

    Python文件打包工具一站式指南

    这篇文章主要为大家介绍了Python文件打包工具一站式指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 通过Python的jieba库对文本进行分词

    通过Python的jieba库对文本进行分词

    Python的jieba库是一个中文分词工具,它可以将一段中文文本分割成一个一个的词语,方便后续的自然语言处理任务,如文本分类、情感分析等,本文给大家介绍如何通过Python的jieba库对文本进行分词,文中详细的代码示例,需要的朋友可以参考下
    2023-05-05
  • matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())

    matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())

    这篇文章主要介绍了matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel()),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python如何实现内容写在图片上

    python如何实现内容写在图片上

    这篇文章主要为大家详细介绍了python如何实现内容写在图片上,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python+selenium 获取一组元素属性值的实例

    Python+selenium 获取一组元素属性值的实例

    今天小编就为大家分享一篇Python+selenium 获取一组元素属性值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 每个 Python 开发者都应该知道的7种好用工具(效率翻倍)

    每个 Python 开发者都应该知道的7种好用工具(效率翻倍)

    Python 从一种小的开源语言开始,到现在,它已经成为开发者很受欢迎的编程语言之一。这篇文章主要介绍了每个 Python 开发者都应该知道的7种好用工具(效率翻倍),需要的朋友可以参考下
    2021-03-03
  • python3解析库lxml的安装与基本使用

    python3解析库lxml的安装与基本使用

    lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,下面这篇文章主要给大家介绍了关于python3解析库lxml的安装与使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-06-06

最新评论