Как заставить Theano использовать GPU

У меня довольно большие проблемы с настройкой Theano для работы с моей видеокартой. Надеюсь, вы, ребята, поможете мне.

Раньше я использовал CUDA, и он правильно установлен, так как это необходимо для запуска Nvidia Nsight. Однако теперь я хочу использовать его с PyDev, и у меня есть несколько проблем после раздела «Использование графического процессора» руководства по адресу http://deeplearning.net/software/theano/install.html#gpu-linux

Первый довольно простой, и это то, как настроить переменные среды. В нем говорится, что я должен «Определить переменную среды $CUDA_ROOT». Несколько источников сказали создать новый файл '.pam_environment' в моем домашнем каталоге. Я сделал это и написал следующее:

CUDA_ROOT = /usr/local/cuda-5.5/bin
LD_LIBRARY_PATH = /usr/local/cuda-5.5/lib64/lib

Я не уверен, что это именно так, как это должно быть написано - извините, если это основной вопрос. Если бы я мог получить подтверждение, что это действительно правильное место, чтобы написать это, это было бы полезно.

Вторая проблема находится в следующей части учебника. В нем говорится «изменить параметр устройства, чтобы назвать устройство GPU на вашем компьютере». Видимо, это как-то связано с THEANO_FLAGS и .theanorc, но я нигде не могу узнать, что это такое: это файлы? Если да, то где мне их найти? Учебник, кажется, предполагает некоторые знания, которых у меня нет!

Спасибо, что нашли время, чтобы прочитать это: любые ответы очень ценятся - я очень сильно застрял в данный момент!


person Boyentenbi    schedule 10.08.2013    source источник


Ответы (2)


В Linux/OSX:

Отредактируйте или создайте файл ~/.theanorc. Файл должен содержать:

[global]
floatX = float32
device = gpu0

[nvcc]
fastmath = True

[cuda]
root=/usr/local/cuda-5.5/  
# On a mac, this will probably be /Developer/NVIDIA/CUDA-5.5/

Вам нужно добавить cuda в переменную $LD_LIBRARY_PATH. Если вы используете eclipse, вы можете перейти в «Свойства проекта» > «Интерпретаторы» > «Настроить и интерпретировать...» > «Среда», а затем добавить переменную LD_LIBRARY_PATH, указывающую на вашу папку cuda lib (вероятно, /Developer/NVIDIA/CUDA-5.5/lib64). )

Теперь, когда вы импортируете theano, он должен вывести сообщение о нахождении GPU. Вы можете запустить тестовый код по адресу http://deeplearning.net/software/theano/tutorial/using_gpu.html чтобы узнать, использует ли он графический процессор.

person Peter    schedule 16.01.2014

THEANO_FLAGS — это переменная среды, а .theanorc — это файл конфигурации. Вы можете использовать оба механизма для настройки Theano. Это описано здесь.

Я никогда не слышал о файле .pam_environment. Кроме того, вы не должны просто переопределять значение LD_LIBRARY_PATH, а добавлять/добавлять его к нему следующим образом:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.5/lib64/lib

Для Theano, если вы определяете CUDA_ROOT, вам не нужно изменять LD_LIBRARY_PATH, поэтому я бы просто удалил последнюю строку.

Обычно, если ваша оболочка — bash, люди определяют переменную env CUDA_ROOT в файле .bashrc следующим образом:

export CUDA_ROOT=/usr/local/cuda-5.5/bin

Изменение на .bashrc будет использоваться только в том случае, если вы выйдете из системы и снова войдете в нее.

person nouiz    schedule 12.08.2013
comment
Вам НЕ нужно выходить из системы, чтобы изменения заработали. Просто запустите исходный код ~/.bashrc - person vwvolodya; 24.11.2015