如何在Ipython Notebook上使用我的GPU?

时间:2015-12-17 06:59:03

标签: ipython theano nvcc keras

操作系统:Ubuntu 14.04LTS
语言:Python Anaconda 2.7(keras,theano)
GPU:GTX980Ti CUDA:CUDA 7.5

我想通过使用我的GPU(GTX980Ti)在IPython Notebook上运行keras python代码
但我无法找到它。

我想测试下面的代码。当我把它运行到Ubuntu终端时, 我命令如下(它很好地使用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 个答案:

答案 0 :(得分:3)

我在使用我系统GPU的ipython笔记本上使用theano。这种配置似乎在我的系统上运行良好。(Macbook Pro with 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 notebook(对我来说,设备是gpu0):

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

$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变量设置错误。