keras系列︱keras是如何指定显卡且限制显存用量

keras在使用GPU的时候有个特点,就是默认全部占满显存。 若单核GPU也无所谓,若是服务器GPU较多,性能较好,全部占满就太浪费了。 于是乎有以下三种情况: - 1、指定GPU - 2、使用固定显存的GPU - 3、指定GPU + 固定显存

一、固定显存的GPU

本节来源于:深度学习theano/tensorflow多显卡多人使用问题集(参见:Limit the resource usage for tensorflow backend · Issue #1538 · fchollet/keras · GitHub) 在使用keras时候会出现总是占满GPU显存的情况,可以通过重设backend的GPU占用情况来进行调节。

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config))

需要注意的是,虽然代码或配置层面设置了对显存占用百分比阈值,但在实际运行中如果达到了这个阈值,程序有需要的话还是会突破这个阈值。换而言之如果跑在一个大数据集上还是会用到更多的显存。以上的显存限制仅仅为了在跑小数据集时避免对显存的浪费而已。(2017年2月20日补充)

二、指定GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

此时的代码为选择了编号为2 的GPU

# python设置系统变量的方法
os.environ["CUDA_VISIBLE_DEVICES"] = "8,9,10,11,12,13,14,15"

注意,在代码中指定设备时,重新从0开始计,而不是从8开始。 来源:Tensorflow 学习笔记(七) ———— 多GPU操作

三、指定GPU + 固定显存

上述两个连一起用就行:

import os
import tensorflow as tf
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config))

那么在命令行,可以使用:https://github.com/tensorflow/nmt/issues/60

CUDA_VISIBLE_DEVICES=0 python -m nmt.nmt 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

R语言可视化——图表嵌套(母子图)

之前在学习ggplot的时候,一直存在着一个困惑。 就是这个函数是否允许两个做出来的两个相关图表重叠嵌套(也就是在一个大图(主图)的边缘位置,放置另一个缩小版的...

1994
来自专栏腾讯Bugly的专栏

舞动的表情包——浅析GIF格式图片的存储和压缩

导语 GIF(Graphics Interchange Format)原义是“图像互换格式”,是CompuServe公司在1987年开发出的图像文件格式,可以说...

3584
来自专栏ATYUN订阅号

自定义对象检测问题:使用TensorFlow追踪星球大战中的千年隼号宇宙飞船

大多数的大型科技公司(如IBM,谷歌,微软,亚马逊)都有易于使用的视觉识别API。一些规模较小的公司也提供类似的产品,如Clarifai。但没有公司能够提供对象...

3575
来自专栏浅探ARKit

ARKit制作红包雨效果

新年快到了!给大家献上一个3D红包雨效果! #####思路: 1.用scenekit来创建红包模型 先创建一个长方体,此长方体厚度很薄 然后设置模型的cont...

3489
来自专栏AI科技大本营的专栏

这一次,我拒绝了Python,选择了Go

最近,我用一个以 Go 语言为后端的软件,实现了一个人脸识别项目。它能够识别出上传照片中的人像 (如流行歌手)是谁。这听起来不错,我决定试一下也给你们介绍一下项...

1094
来自专栏AI研习社

Github 项目推荐 | 真实全景图像强化学习 AI 平台 —— Matterport3DSimulator

Matterport3DSimulator 可以使用视觉信息(RGB-D 图像)开发与真实 3D 环境交互的 AI Agent,它主要应用于深度强化学习的研究以...

41012
来自专栏AI研习社

Github 项目推荐 | 在线新闻评论分析数据集——SOCC

SOCC 是一个用于分析在线新闻评论的语料库,该语料库里包含了大量的新闻及相关的新闻评论。库中搜集的文章都是评论文章,不是纯的新闻资讯,它比当前任何可用的新闻评...

3065
来自专栏跟着阿笨一起玩NET

.NET3.5 GDI+ 图形操作1

      前言: 本文章抄袭自本人刚刚买的《ASP.NET 3.5从入门到精通》这本书,此书介绍在 http://www.china-pub.com/4499...

442
来自专栏RESTART POiNTER

浓缩的才是精华:浅析 GIF 格式图片的存储和压缩

GIF是我们很常见的动态图片格式,本文分析了GIF图的版本更迭,数据结构、分析其存储和优化策略,并根据具体应用场景(表情包的批量缩略图生成)设计了一种抽帧压缩算...

2.9K5
来自专栏新智元

年度最大更新!PyTorch 0.4:完全改变API,官方支持Windows

1293

扫码关注云+社区