7

OS : 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 にさらに 2 行挿入します)。

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.

どうやってするの???2日間かけて..
確かにホームディレクトリにある「.theanorc」ファイルを使う方法をやってみました。

4

1 に答える 1

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ノートブックの実行方法(私にとって、デバイスは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 変数を間違って設定しました。

于 2016-02-10T12:19:33.220 に答える