Theano Невозможно использовать GPU - PullRequest
0 голосов
/ 01 июня 2018
(theano_p27) ubuntu@ip-***-**-**-***:~$ device=cuda0,floatX=float32 GPUARRAY_CUDA_VERSION=80 python test.py
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
ERROR (theano.gpuarray): Could not initialize pygpu, support disabled
Traceback (most recent call last):
File "/home/ubuntu/anaconda3/envs/theano_p27/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 227, in <module>
use(config.device)
File "/home/ubuntu/anaconda3/envs/theano_p27/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 214, in use
init_dev(device, preallocate=preallocate)
File "/home/ubuntu/anaconda3/envs/theano_p27/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 99, in init_dev
**args)
File "pygpu/gpuarray.pyx", line 658, in pygpu.gpuarray.init
File "pygpu/gpuarray.pyx", line 587, in pygpu.gpuarray.pygpu_init
GpuArrayException: cuInit: CUDA_ERROR_UNKNOWN: unknown error
[Elemwise{exp,no_inplace}(<TensorType(float32, vector)>)]
Looping 1000 times took 2.717710 seconds
Result is [1.2317803 1.6187934 1.5227807 ... 2.2077181 2.2996776 Used the cpu

Я пытаюсь использовать Amazon Web Services EC2 для запуска графического процессора, и я получаю эту ошибку, когда пытаюсь запустить тест, чтобы заставить мой код запустить мой gnu, но он выдает мне эту ошибку.

Пожалуйста, помогите

Редактировать: код, который я использую, является тестовым кодом с сайта Theano

from theano import function, config, shared, tensor
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([], tensor.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(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, tensor.Elemwise) and
          ('Gpu' not in type(x.op).__name__)
          for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

1 Ответ

0 голосов
/ 03 июня 2018

В ответ на последующие комментарии.Для настройки и использования графического процессора на AWS с Deep Learning AMI рекомендуются следующие экземпляры ( source ):

Amazon EC2Экземпляры P3 имеют до 8 графических процессоров NVIDIA Tesla V100.

Экземпляры Amazon EC2 P2 имеют до 16 графических процессоров NVIDIA NVIDIA K80.

Amazon EC2Экземпляры G3 имеют до 4 графических процессоров NVIDIA Tesla M60.

Извлеките Типы экземпляров EC2 и выберите Ускоренные вычисления, чтобы увидеть различные варианты экземпляров графического процессора.

Кроме того, вы можете попробовать Elastic GPU .

Наконец, вы хотите использовать экземпляры GPU, которые вам обычно требовались для установки соответствующих драйверов с сайта Nvidia.Просмотрите приведенный выше текст для типа GPU.Загрузите драйвер и запустите его;например:

./NVIDIA-Linux-x86_64-384.81.run

Вы также можете передать флаг -silent, чтобы установить его с помощью управления конфигурацией или иным образом.Также имейте в виду, что вы должны установить драйверы в том размере, который вы собираетесь использовать.Если вы создаете образ AMI, в который вы установили драйверы на p3.2xlarge, а затем пытаетесь запустить что-то на p3.8xlarge, вам, вероятно, потребуется переустановить драйверы.

...