DL平台GPU分配

来源:互联网 发布:java工作内容 编辑:程序博客网 时间:2024/05/29 08:34

本说明只适用于GPU显存分配,以及如何使用指定使用某个GPU。
要同时使用多GPU计算时,tensorflow需要自己修改代码,theano需要安装libgpuarrary(还没安装成功)

theano:

例子:

THEANO_FLAGS='device=gpu0,lib.cnmem=0.1' python test.py

说明:

device=gpu0,表示使用ID号为0的GPU,要使用其他GPU,只需更改后面的数字。

lib.cnmem=0.1,表示使用GPU所有显存的10%,cnmem需要额外安装。

python test.py,表示运行test.py

tensorflow:

tensorflow默认使用所有GPU的显存,如果想要使用某个GPU,那么在命令前加入CUDA_VISIBLE_DEVICES指定使用gpu ID号。比如,启用2号GPU,运行test.py:

CUDA_VISIBLE_DEVICES=2 python test.py 

tensorflow也可以限制使用显存大小,不过在没有指定使用哪个GPU的情况下,所设置的使用百分比是针对所有GPU的显存的百分比。 设置方法如下:

py
import tensorflow as tf
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.1)#显存的10%
tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

caffe:

在caffe模型上训练,使用命令:

/home/research/hjimce/caffe/build/tools/caffe train -solver gender_solver.prototxt -gpu 0 

其中-gpu是gpu选择命令,上面是选择ID 0号显卡进行计算。如果要用多显卡计算采用:-gpu all

其他

要运行程序时,建议查看一下GPU的使用情况,然后酌情分配GPU资源。

在终端查看GPU使用情况:

nvidia-smi

另外,以上深度学习平台中设置的GPU ID号,与nvidia-smi显示的GPU ID号的相反的。比如invidia-smi显示的3个GPU的ID分别为:0,1,2。那么,在上述深度学习平台中所设置的GPU ID号分别对应于:2,1,0。

原创粉丝点击