Octopus@501 有三张NVIDIA GPU,可以通过 nvidia-smi 查看。第一张GPU,编号奇怪。它是用于显示的GPU,能力极差,无法带动 Tensorflow(TF)。所以,在运行TF的时候,需要指明GPU。
如果你安装的是 tensorflow 而不是 tensorflow-gpu,请忽略本文
- 进入装有tensroflow-gpu的环境
source activate
- 让当前环境可以看到指定的GPU,在python代码的开头,应该包含这样的语句
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "1,2" #这里使用了两个K80
- 动态调用GPU。我们人多GPU少,所以需要动态调用GPU
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
with tf.Session(config=config) as sess:
各种操作xxxxxxx
sess.close() #一定要close,释放掉GPU资源!!!!!!
注意:这里有问题。即使按照上面方式编写程序,仍然无法释放GPU资源,在Jupyter环境下。你是否有思路?请在下面回复
附:http://blog.csdn.net/lxg0807/article/details/76094042