2016-03-27 7 views
10

Ho installato Theano quadro e abilitato CUDA sulla mia macchina, ma quando ho "import Teano" nella mia console python, ho ricevuto il seguente messaggio:come impostare cuDnn con Theano su Windows 7 a 64 bit

>>> import theano 
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available) 

Ora che "CuDNN non è disponibile", ho scaricato cuDnn dal sito Web di Nvidia. Ho anche aggiornato il "percorso" in ambiente e aggiunto "optimizer_including = cudnn" nel file di configurazione ".theanorc.txt".

Poi, ho provato di nuovo ma fallito, con:

>>> import theano 
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Anaconda2\lib\site-packages\theano\__init__.py", line 111, in <module> 
    theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1() 
    File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py", line 31, in test_nvidia_driver1 
    profile=False) 
    File "C:\Anaconda2\lib\site-packages\theano\compile\function.py", line 320, in function 
    output_keys=output_keys) 
    File "C:\Anaconda2\lib\site-packages\theano\compile\pfunc.py", line 479, in pfunc 
    output_keys=output_keys) 
    File "C:\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 1776, in orig_function 
    output_keys=output_keys).create(
    File "C:\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 1456, in __init__ 
    optimizer_profile = optimizer(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 101, in __call__ 
    return self.optimize(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 230, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 230, in apply 
    sub_prof = optimizer.optimize(fgraph) 
    File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize 
    ret = self.apply(fgraph, *args, **kwargs) 
    File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\dnn.py", line 2508, in apply 
    dnn_available.msg) 
AssertionError: cuDNN optimization was enabled, but Theano was not able to use it. We got this error: 
Theano can not compile with cuDNN. We got this error: 

>>> 

qualcuno mi può aiutare? Grazie.

+0

provare ad aggiornare la versione di theano? – malioboro

+0

Possibile duplicato di [Come installare theano in Anaconda ver. 2.1 Windows 64 bit per Python 3.4?] (Http://stackoverflow.com/questions/27629347/how-do-i-install-theano-in-anaconda-ver-2-1-windows-64-bit-for- python-3-4) – devinbost

risposta

35

Ci dovrebbe essere un modo per farlo impostando solo la variabile di ambiente Path ma non potrei mai farlo funzionare. L'unica cosa che ha funzionato per me era copiare manualmente i file CuDNN nelle cartelle appropriate nell'installazione CUDA.

Ad esempio, se l'installazione CUDA è in C: \ CUDA \ v7.0 ed è stato estratto CuDNN a C: \ CuDNN si dovrebbe copiare il seguente:

  • Il contenuto di C: \ CuDNN \ lib \ x64 \ verrebbe copiato in C: \ CUDA \ v7.0 \ lib \ x64 \
  • Il contenuto di C: \ CuDNN \ include \ verrebbe copiato in C: \ CUDA \ v7.0 \ include \
  • Il contenuto di C: \ CuDNN \ bin \ sarebbe essere copiati in C: \ CUDA \ v7.0 \ bin \

Dopo di che dovrebbe funzionare.

+0

Oh, funziona! Nel mio caso, ho copiato anche \ bin. Grazie mille!! – greentec

+9

Utilizzo di CUDA 7.5 e CUDNN 5. La posizione di CUDA è 'C: \ Programmi \ NVIDIA GPU Computing Toolkit \ CUDA \ v7.5'. Oltre a copiare la cartella 'lib' e' include' dovevo copiare una dll dalla directory 'bin'. Poi ha funzionato (dopo essere passato al ramo principale di Theano perché la versione 0.8.1 è più vecchia di CUDNN 5). –

+0

Nota che cuDNN ha bisogno di una GPU che sia Kepler (Compute Capability 3.0) o successiva. per esempio. un Quadro 5000 supporta solo CNMeM e non cuDNN. – abcdaa

-4

Oltre a tutto ciò che ho fatto, ho aggiornato il contenuto di .theanorc.txt nella mia cartella principale e dopo ha funzionato.

[lib] 
#cnmem=1.0 
cudnn=1.0 
Problemi correlati