TensorFlow 显存使用机制详解
作者:冬日and暖阳 时间:2022-02-07 11:46:53
默认情况下,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 内存量,这非常实用。
来源:https://blog.csdn.net/qq_29007291/article/details/81348406
标签:TensorFlow,显存
0
投稿
猜你喜欢
Python keras.metrics源代码分析
2023-10-28 20:58:14
python爬虫库scrapy简单使用实例详解
2022-03-22 23:46:11
给我一面国旗 python帮你实现
2022-04-06 07:23:32
iframe高度自适应,兼容IE,FF
2008-06-18 12:15:00
Python快速从注释生成文档的方法
2022-07-11 04:55:37
python3实现指定目录下文件sha256及文件大小统计
2023-11-26 15:37:00
Python中的生成器和yield详细介绍
2022-11-11 12:34:24
oracle 在一个存储过程中调用另一个返回游标的存储过程
2009-09-26 18:54:00
Python实现队列的方法
2023-08-29 06:45:30
详解element-ui 表单校验 Rules 配置 常用黑科技
2023-08-17 17:42:47
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2023-07-02 17:01:35
搜索结果页(SERP):前言
2009-07-22 20:56:00
Python画图时如何调用本地字体
2023-08-02 08:51:31
Mysql数据库group by原理详解
2024-01-19 20:20:44
Pytorch中Softmax和LogSoftmax的使用详解
2022-09-24 07:36:19
在Visual Studio中使用GIT进行源码管理
2022-09-24 19:28:02
在Python中使用AOP实现Redis缓存示例
2021-09-12 11:18:45
Python JSON格式数据的提取和保存的实现
2023-03-23 13:27:49
Golang实现http server提供压缩文件下载功能
2024-05-09 14:56:00
python实现每次处理一个字符的三种方法
2023-03-07 12:27:30