2015-12-17 8 views
6

ОС: Ubuntu 14.04LTS
Язык: Python Анаконда 2,7 (keras, Theano)
GPU: GTX980Ti CUDA: CUDA 7,5Как я могу использовать свой GPU на ноутбуке Ipython?

Я хочу запустить keras код питона на IPython Notebook, используя мой GPU (GTX980Ti)
Но я не могу его найти.

Я хочу проверить ниже код. Когда я запускаю его на терминале 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, он не использует 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") 

Затем он генерирует ошибку, как показано ниже

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

как это сделать ??? Я провел два дня.
И я, конечно, сделал способ использования файла .theanorc в домашнем каталоге.

+1

Вы проверили, что 'nvcc' находится в'/usr/local/cuda/bin'? Во время установки может быть выбрано другое место. Когда вы печатаете 'PATH' из Python, содержит ли он путь к' nvcc'? Возможно, он собирает другой экземпляр переменной окружения 'PATH', чем тот, который вы добавили в папку' nvcc'. – njuffa

+0

@talomies Спасибо вам за ответ! – user3704652

+0

@talomies Но я дважды проверяю, что есть nvcc в/usr/local/cuda/bin .... И /usr/local/cuda-7.5/bin также имеет nvcc .. Есть ли проблема с этим ?! – user3704652

ответ

2

Я использую theano на ноутбуке ipython, используя графический процессор моей системы. Эта конфигурация, кажется, работает отлично на моей системе (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 т $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 неправильно.

 Смежные вопросы

  • Нет связанных вопросов^_^