2013-08-10 26 views
7

Sto avendo un bel po 'di problemi nel configurare Theano per lavorare con la mia scheda grafica - Spero che voi ragazzi potete darmi una mano.Ottenere Theano per usare la GPU

Ho già usato CUDA ed è installato correttamente come sarebbe necessario per eseguire Nvidia Nsight. Tuttavia, ora voglio usarlo con PyDev e sto avendo diversi problemi seguendo la parte 'Using the GPU' del tutorial a http://deeplearning.net/software/theano/install.html#gpu-linux

Il primo è abbastanza semplice, ed è così che si impostano le variabili di ambiente. Dice che dovrei 'Definire una variabile d'ambiente $ CUDA_ROOT'. Diverse fonti hanno detto di creare un nuovo file ".pam_environment" nella mia home directory. Ho fatto questo e scritto il seguente:

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

io non sono sicuro se questo è esattamente il modo in cui deve essere scritto - scuse se questa è una questione fondamentale. Se potessi avere la conferma che questo è davvero il posto giusto per averlo scritto, sarebbe utile.

Il secondo problema è nella seguente parte del tutorial. Dice 'cambia l'opzione del dispositivo per denominare il dispositivo GPU nel tuo computer'. Apparentemente questo ha qualcosa a che fare con THEANO_FLAGS e .theanorc, ma da nessuna parte sono in grado di scoprire cosa sono: sono file? Se sì, dove li trovo? Il tutorial sembra presupporre una conoscenza che non ho!

Grazie per aver trovato il tempo di leggere questo: tutte le risposte sono molto apprezzate - Sono completamente bloccato al momento!

risposta

1

THEANO_FLAGS è una variabile di ambiente e .theanorc è un file di configurazione. È possibile utilizzare entrambi i meccanismi per configurare Theano. Questo è descritto here.

Non ho mai sentito parlare del file .pam_environment. Inoltre, non si dovrebbe sostituire il valore di LD_LIBRARY_PATH, ma aggiungere/anteporre ad esso in questo modo:

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

Per Theano, se si definisce CUDA_ROOT, non è necessario modificare LD_LIBRARY_PATH, quindi vorrei solo rimuovi l'ultima riga.

Normalmente, se la tua shell è bash, persone definiscono la variabile ENV CUDA_ROOT nel file .bashrc come questo:

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

La modifica .bashrc sarà usato solo se uscite dal sistema e di nuovo .

+0

NON è necessario uscire per apportare modifiche. Esegui semplicemente source ~/.bashrc – vwvolodya

11

Su Linux/OSX:

Modificare o creare il file ~/.theanorc. Il file deve contenere:

[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/ 

È necessario aggiungere cuda alla variabile $ LD_LIBRARY_PATH. Se esegui eclipse, puoi andare a Proprietà progetto> Interpreti> Configura e interprete ...> Ambiente, quindi aggiungi una variabile LD_LIBRARY_PATH che punta alla cartella cuda lib (probabilmente /Developer/NVIDIA/CUDA-5.5/lib64)

Ora quando si importa theano si dovrebbe stampare un messaggio sulla ricerca della gpu. È possibile eseguire il codice di prova su http://deeplearning.net/software/theano/tutorial/using_gpu.html per verificare se utilizza la gpu.

Problemi correlati