2015-12-17 36 views
6

操作系統:Ubuntu的14.04LTS
語言:Python的蟒蛇2.7(keras,theano)
GPU:GTX980Ti CUDA:CUDA 7.5如何在Ipython Notebook上使用我的GPU?

我想通過使用我的GPU(GTX980Ti) 上IPython的筆記本電腦運行keras Python代碼
但我找不到它。

我想測試下面的代碼。當我到Ubuntu終端運行它, I命令如下(它使用GPU很好。它不具有任何問題)

首先我設置象下面

export PATH=/usr/local/cuda/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 

路徑其次,我運行代碼如下

THEANO_FLAGS='floatX=float32,device=gpu0,nvcc.fastmath=True' python myscript.py 


,它運行良好。

但是當我在pycharm(python IDE)上運行代碼或 當我在Ipython Notebook上運行它時,它不使用gpu。 它只使用CPU

myscript.py代碼如下。

from theano import function, config, shared, sandbox 
import theano.tensor as T 
import numpy 
import time 
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core 
iters = 1000 
rng = numpy.random.RandomState(22) 
x = shared(numpy.asarray(rng.rand(vlen), config.floatX)) 
f = function([], T.exp(x)) 
print(f.maker.fgraph.toposort()) 
t0 = time.time() 
for i in xrange(iters): 
    r = f() 
t1 = time.time() 
print("Looping %d times took %f seconds" % (iters, t1 - t0)) 
print("Result is %s" % (r,)) 
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]): 
    print('Used the cpu') 
else: 
    print('Used the gpu') 

爲了解決它,我強制代碼利用GPU如下 (插入兩行更上myscript.py)

import theano.sandbox.cuda 
theano.sandbox.cuda.use("gpu0") 

然後,它生成類似錯誤下面

ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc installation and try again. 

怎麼辦?我花了兩天..
我確實在家庭目錄中使用'.theanorc'文件的方式。

+1

你是否已經仔細檢查'nvcc'駐留在'/ usr/local/cuda/bin'中?安裝過程中可能選擇了不同的位置。當你在Python中打印'PATH'時,它是否包含'nvcc'的路徑?它可能正在拾取環境變量'PATH'的另一個實例,而不是您添加'nvcc'位置的實例。 – njuffa

+0

@talomies謝謝你回答! – user3704652

+0

@talomies但我仔細檢查在/ usr/local/cuda/bin中是否有nvcc ....並且/usr/local/cuda-7.5/bin也有nvcc ..是否有問題? – user3704652

回答

2

我在使用我的系統GPU的ipython筆記本上使用theano。這種配置似乎我的系統上正常工作(的MacBook Pro與GTX 750M)

我的〜/ .theanorc文件:

[global] 
cnmem = True 
floatX = float32 
device = gpu0 

各種環境變量(我用的是虛擬環境(macvnev):

echo $LD_LIBRARY_PATH 
/opt/local/lib: 

echo $PATH 
/Developer/NVIDIA/CUDA-7.5/bin:/opt/local/bin:/opt/local/sbin:/Developer/NVIDIA/CUDA-7.0/bin:/Users/Ramana/projects/macvnev/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

echo $DYLD_LIBRARY_PATH 
/Developer/NVIDIA/CUDA-7.5/lib:/Developer/NVIDIA/CUDA-7.0/lib: 

如何我運行IPython的筆記本電腦(對我來說,該設備是gpu0):

$THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 ipython notebook 

Outpu t的$nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2015 NVIDIA Corporation 
Built on Thu_Sep_24_00:26:39_CDT_2015 
Cuda compilation tools, release 7.5, V7.5.19 

從你的文章,可能你已經設置了$ PATH變量錯誤。

相關問題