关于tensorflow2如何使用GPU,网上有很多方法,包括但不限于:
方法一:指定某块GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
实际使用中我只能指定CUDA_VISIBLE_DEVICES的参数为“2”,指定其他参数报错。但即便如此,跑代码的时候还是没有用到GPU。
方法二:使用configproto()方法,控制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))
实际操作发现,config是tensorflow1的方法,在tensorflow2中,要想使用这个方法需要找到对应的库,我嫌麻烦就跳过了这个方法,实际效果你们可以自己试试。
方法三:设置 GPU 显存占用为按需分配,增长式
这个方法就是我现在在用的方法,我觉得有用,所以分享一下
# 获取所有 GPU 设备列表
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
# 设置 GPU 显存占用为按需分配,增长式
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
except RuntimeError as e:
# 异常处理
print(e)