本篇文章小编给大家分享一下TensorFlow和keras中GPU使用的设置操作代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1. 训练运行时候指定GPU
运行时候加一行代码:
CUDA_VISIBLE_DEVICES=1 python train.py
2. 运行过程中按需或者定量分配GPU
tensorflow直接在开启Session时候加几行代码就行,而Keras指定GPU,并限制按需用量和TensorFlow不太一样,因为keras训练是封装好的,不好对Session操作。如下是两种对应的操作。
keras中的操作:
import os import tensorflow as tf from keras.backend.tensorflow_backend import set_session # 指定第一块GPU可用 os.environ["CUDA_VISIBLE_DEVICES"] = "0" #指定GPU的第二种方法 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 #定量 config.gpu_options.allow_growth = True #按需 set_session(tf.Session(config=config))
TensorFlow中的操作:
#指定GPU import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" #设置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)