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

举报
风吹稻花香 发表于 2021/06/05 00:11:00 2021/06/05
【摘要】 keras系列︱keras是如何指定显卡且限制显存用量 原创  2017年07月21日 10:59:24 标签:keras /gpu /显卡 /指定 /限制 6630 keras在使用GPU的时候有个特点,就是默认全部占满显存。 若单核GPU也无所谓,若是服务器GPU较多,性能较好,...

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

原创  2017年07月21日 10:59:24
  • 6630

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占用情况来进行调节。


    
  1. import tensorflow as tf
  2. from keras.backend.tensorflow_backend import set_session
  3. config = tf.ConfigProto()
  4. config.gpu_options.per_process_gpu_memory_fraction = 0.3
  5. set_session(tf.Session(config=config))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

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

二、指定GPU


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

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


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

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

三、指定GPU + 固定显存

上述两个连一起用就行:


    
  1. import os
  2. import tensorflow as tf
  3. os.environ["CUDA_VISIBLE_DEVICES"] = "2"
  4. from keras.backend.tensorflow_backend import set_session
  5. config = tf.ConfigProto()
  6. config.gpu_options.per_process_gpu_memory_fraction = 0.3
  7. set_session(tf.Session(config=config))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

CUDA_VISIBLE_DEVICES=0 python -m nmt.nmt 
   
  • 1

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/80078252

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。