tensorflow-keras指定GPU使用率

Keras和TensorFlow设置GPU及其使用率

1、TensorFlow1.X

直接在代码中用以下语句指定并不能实现我们的目的:

tf.device('/gpu:1')


需要在python代码中通过CUDA_VISIBLE_DEVICES来指定:

import os
os.environ['CUDA_VISIBLE_DEVICES']='1'

通过以上代码,只使得编号为1的GPU对当前python程序是可见的。
如果要指定多块GPU,则将相应GPU编号用逗号隔开即可

os.environ['CUDA_VISIBLE_DEVICES']='2,3'

也可以在终端中,来指定想使用的GPU,将指定GPU的代码放在python程序的前面:

CUDA_VISIBLE_DEVICES=1 python test.py

2、TensorFlow1.X 指定GPU使用量

config = tf.ConfigProto() 
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 
session = tf.Session(config=config)

设置GPU使用量最小。

config = tf.ConfigProto() 
config.gpu_options.allow_growth = True 
session = tf.Session(config=config)

3、TensorFlow2.X

指定GPU与TF1.X方法基本一样: 指定GPU使用量

gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:
    tf.config.experimental.per_process_gpu_memory_fraction = 0.9

设置GPU使用量最小。

gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:
    tf.config.experimental.set_memory_growth(gpu, True)

4、Keras

指定GPU使用量(TF1.X)
指定占GPU内存比例:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allocator_type = 'BFC' #A "Best-fit with coalescing" algorithm, simplified from a version of dlmalloc.
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config)) 

根据实际使用情况分配最小内存:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allocator_type = 'BFC' #A "Best-fit with coalescing" algorithm, simplified from a version of dlmalloc.
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config)) 

指定GPU使用量(TF2.X)

指定占GPU内存比例:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:
    tf.config.experimental.per_process_gpu_memory_fraction = 0.9

根据实际使用情况分配最小内存:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:
    tf.config.experimental.set_memory_growth(gpu, True)

参考文章

  • https://blog.csdn.net/sunmingyang1987/article/details/106555601
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值