最近开始用 pair-wise ranknet 实现排序,开始写一写 tensorflow 代码
查看机器上 GPU 情况
命令: nvidia-smi
功能:显示机器上 gpu 的情况
命令: nvidia-smi -l
功能:定时更新显示机器上 gpu 的情况
其中左上侧有 0、1、2、3 的编号,表示 GPU 的编号,在后面指定 GPU 时需要使用这个编号。
在终端执行程序时指定 GPU
CUDA_VISIBLE_DEVICES=1 python your_file.py
这样在跑你的网络之前,告诉程序只能看到 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_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)