ОС: 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 в домашнем каталоге.
Вы проверили, что 'nvcc' находится в'/usr/local/cuda/bin'? Во время установки может быть выбрано другое место. Когда вы печатаете 'PATH' из Python, содержит ли он путь к' nvcc'? Возможно, он собирает другой экземпляр переменной окружения 'PATH', чем тот, который вы добавили в папку' nvcc'. – njuffa
@talomies Спасибо вам за ответ! – user3704652
@talomies Но я дважды проверяю, что есть nvcc в/usr/local/cuda/bin .... И /usr/local/cuda-7.5/bin также имеет nvcc .. Есть ли проблема с этим ?! – user3704652