TensorFlow指定GPU使用及監控GPU佔用狀況

查看機器上GPU狀況python

命令: nvidia-smi網絡

功能:顯示機器上gpu的狀況session

命令: nvidia-smi -lio

功能:定時更新顯示機器上gpu的狀況import

命令:watch -n 3 nvidia-smifile

功能:設定刷新時間(秒)顯示GPU使用狀況終端

其中左上側有0、一、二、3的編號,表示GPU的編號,在後面指定GPU時須要使用這個編號。程序

在終端執行程序時指定GPU   im

CUDA_VISIBLE_DEVICES=1   python  your_file.pyimg

這樣在跑你的網絡以前,告訴程序只能看到1號GPU,其餘的GPU它不可見

可用的形式以下:

CUDA_VISIBLE_DEVICES=1           Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1         Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1"       Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3       Devices 0, 2, 3 will be visible; device 1 is masked

CUDA_VISIBLE_DEVICES=""          No GPU will be visible

在Python代碼中指定GPU

import os

os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
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)

相關文章
相關標籤/搜索