伺服器有多張顯示卡,一般是組裡共用,配置設定好顯示卡和任務就展現公德了。除了在代碼中指定使用的 GPU 編号,還可以直接設定可見 GPU 編号,使程式/使用者隻對部分 GPU 可見。
操作很簡單,使用環境變量
CUDA_VISIBLE_DEVICES
即可。
具體來說,如果使用單卡運作 Python 腳本,則可輸入
腳本将隻使用 GPU1。
在 .py 腳本和 Notebook 中設定,則
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
還可以直接設定臨時的環境變量:
此時該使用者的 CUDA 隻看得見 GPU0。
至于顯存設定,可以設定使用比例(70%):
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
也可以按需增長:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)
如果是 Keras 使用 TensorFlow 後端,則可通過如
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config))
更改使用設定。