運行TensorFlow程序會占用過多的顯卡比例,多人共同使用GPU的時候,會造成后面的人無法運行程序。
一、TensorFlow
1.預加載比例限制
tf_config = tensorflow.ConfigProto() tf_config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 分配50% session = tensorflow.Session(config=tf_config)
2.自適應
tf_config = tensorflow.ConfigProto() tf_config.gpu_options.allow_growth = True session = tensorflow.Session(config=tf_config)
二、Keras
1.當使用Keras的情況下,當import keras時,框架會自動開啟一個默認參數的Session。可以通過下面的代碼主動創建一個使用了ConfigProto的Session,再注入到Keras的后端中去:
from keras.backend.tensorflow_backend import set_session config = tf.ConfigProto() config.gpu_options.allow_growth = True set_session(tf.Session(config=config))
注意:第一行必須直接import這個函數,而非keras這個包,而且這句話必須在其他import keras之前,否則keras初始化之后,再替換一個session,原session也不會釋放。
三、在Python程序中指定cpu
import os os.environ["CUDA_VISIBLE_DEVICES"] = "0"