2015-12-17 12 views
6

OS:Ubuntuの14.04LTS
言語:Pythonのアナコンダ2.7(keras、theano)
GPU:GTX980Ti CUDA:CUDAIpython NotebookでGPUを使用することはできますか?

7.5私は私のGPU(GTX980Ti) を使用してIPythonノートブックに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') 

、それを解決するために、私はそれはのようなエラーを生成 (複数myscript.pyに挿入二行)

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

以下のようにコード使用GPUを強制

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

どのようにしますか?私は2日間過ごしました..
そして、私は確かにホームディレクトリに '.theanorc'ファイルを使用する方法を行いました。

+1

'/ usr/local/cuda/bin'に' nvcc'があることを再確認しましたか?インストール時に別の場所が選択されている可能性があります。 Pythonの中から 'PATH'を印刷すると、' nvcc'へのパスが入っていますか? 'nvcc'の場所を追加した環境変数とは異なる環境変数' PATH'のインスタンスを取得している可能性があります。 – njuffa

+0

@talomiesお返事ありがとうございます! – user3704652

+0

@talomiesしかし、私は/ usr/local/cuda/binにnvccがあることをもう一度チェックします。そして/usr/local/cuda-7.5/binにもnvccがあります。問題はありますか? – user3704652

答えて

2

私はシステムのGPUを利用してipythonノートブックでtheanoを使用しています。この構成では、私のシステムで正常に動作するようです(GTX 750M搭載するMacBook Pro)

私の〜/ .theanorcファイル:。

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

様々な環境変数(私は仮想環境(macvnev)を使用します。

私は(私にとっては、デバイスがgpu0ある)ノートipython実行方法
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: 

$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変数を間違って設定しました。

関連する問題