如何防止Tensorflow分配整个GPU内存?
我在共享计算资源的环境中工作,也就是说,我们有几台服务器机器都配备了几个Nvidia Titan X GPU。
对于小到中等尺寸的模型,Titan X的12GB通常足以让2-3人在同一GPU上同时进行训练。如果模型足够小,以至于单个模型不能充分利用Titan X的所有计算单元,那么实际上可以导致某种加速(相比串行多个训练任务来说)。即使在GPU的并发访问确实减慢了单个训练时间的情况下,同时在GPU上拥有多个用户运行的灵活性仍然不错。
TensorFlow的问题在于,默认情况下,它会在GPU启动时为其分配全部可用内存。即使对于一个小型的2层神经网络,我也看到Titan X的12 GB用完了。
有没有办法让TensorFlow只分配4GB的GPU内存,如果知道这个数量对于给定的模型是足够的?
最佳解决办法
通过将tf.GPUOptions
作为可选config
参数的一部分传递来构造tf.Session
时,可以设置要分配的GPU内存部分:
# Assume that you have 12GB of GPU memory and want to allocate ~4GB:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
per_process_gpu_memory_fraction
充当同一机器上每个GPU上的进程将使用的GPU内存数量的硬上限。目前,这个比例被统一应用到同一台机器上的所有GPU上;没有办法在per-GPU的基础上进行设置。
次佳解决办法
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
https://github.com/tensorflow/tensorflow/issues/1578
参考资料
- How to prevent tensorflow from allocating the totality of a GPU memory?
----------------------------------------------------------------------------------------------------------
原文:https://vimsky.com/article/3776.html
如何防止Tensorflow分配整个GPU内存?相关推荐
- PyTorch可视化工具:GPU内存分配
本文来源 机器之心 编辑:杜伟 想要了解自己的 PyTorch 项目在哪些地方分配 GPU 内存以及为什么用完吗?不妨试试这个可视化工具. 近日,PyTorch 核心开发者和 FAIR 研究者 Z ...
- tensorflow GPU 内存不够
tensorflow GPU 内存不够 from tensorflow as tf gpus = tf.config.list_physical_devices('GPU') if gpus:try: ...
- GPU内存分明没人占用但是分配不了内存的解决办法
服务器上多张GPU卡被不同人在不同的docker容器中使用,有时GPU分明没人使用了,使用nvidia-smi查看也是内存没占用: 可是在容器内运行程序到分配GPU内存时总是报内存溢出的错误: 可以看 ...
- Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况
Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...
- TensorFlow指定使用GPU 多块gpu
持续监控GPU使用情况命令: $ watch -n 10 nvidia-smi 1 一.指定使用某个显卡 如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台 ...
- 深度学习 占用gpu内存 使用率为0_深度学习的完整硬件指南
原标题 | A Full Hardware Guide to Deep Learning 作者 | Tim Dettmers 译者 | linlh.呀啦呼(Tufts University).Ryan ...
- 腾讯游戏学院专家分析:Unity在移动设备的GPU内存机制
导语CPU和GPU是共享一份内存的吗?腾讯游戏学院专家Donald将在本文尝试以一张贴图纹理的虚拟内存占用为例,解答一些内存方面的问题.本篇主要分析iOS系统,后续会更新安卓篇. 开发手机游戏时,常听 ...
- 指定tensorflow运行的GPU或CPU设备
如果 TensorFlow 指令中兼有 CPU 和 GPU 实现,当该指令分配到设备时,GPU 设备有优先权. 如果你的系统里有多个 GPU, 那么 ID 最小的 GPU 会默认使用. 当我们要指定t ...
- Window10 Tensorflow 2.1 GPU 安装和测试
Tensorflow 2.1 GPU 安装和测试 1. 硬件要求 2. 软件要求 简单的描述一下它们的功能 3. 安装步骤 3.1. nvidia 驱动可以到这个地址下载, 我的显卡是RTX 2070 ...
- PostgreSQL GPU 加速(HeteroDB pg_strom) (GPU计算, GPU-DIO-Nvme SSD, 列存, GPU内存缓存)
标签 PostgreSQL , GPU , heteroDB , pg_strom , CUDA , nvidia , DIO , Nvme , SSD , 列存 , GPU内存缓存 背景 Heter ...
最新文章
- 递归/回溯:Combination Sum II数组之和
- python高阶函数(abs()、round()、map()、reduce()、filter())
- Shell - 挂载硬盘
- 获取网页各种宽高的值
- Kubernetes — 在 OpenStack 上使用 kubeadm 部署高可用集群
- 试用了一下sourceMonitor有点不知所云..
- ORA-12170:TNS:连接超时
- 今天在看慕课网的java学习路径
- 复制url直接能跳过验证_python 爬虫如何突破登录验证
- 转:SQL:外连接on条件与where条件的区别
- 5G时代已到,还有哪些值得关心的安全问题?
- SqlServer删除表中某几列重复的记录并保留一条
- 修改JDK的经历:两处字体的粗体代码引起的错误
- 九歌计算机在线作诗硬件原理,矣晓沅,孙茂松:计算机的诗意 | 机器写诗的背后...
- 颜色值RGB转换为HEX(十六进制)
- 小程序CMS(开通预览)
- 关于 人工智能 的思考
- jenkins构建:ERROR: Error fetching remote repo ‘origin‘(hudson.plugins.git.GitException/does not point)
- 用命令行去除音频文件的背景噪声
- 【老生谈算法】matlab实现人工免疫算法——人工免疫算法
热门文章
- php网站挂马,网页挂马详细教程
- python为在线漫画网站自制非官方API(未完待续)
- 树莓派(Raspberry Pi)安装五笔输入法,五笔拼音混合输入法
- XTU,C语言,Tri-Triangle
- Linux服务器CPU飙升排查
- 网站开发进阶(六十六)CSS3 - 新单位vmin/vmax与旧单位ex/ch使用详解
- 共享文件 麒麟系统_银河麒麟操作系统上共享文件目录的方法实践
- 51单片机学习案例——自学使用
- 苹果动图分享给android,苹果实况图片怎么发给别人
- Validation 参数校验