Per TensorFlow vorrei installare cuda e CuDNN. Come posso farlo su Ubuntu 16.04?
Per TensorFlow vorrei installare cuda e CuDNN. Come posso farlo su Ubuntu 16.04?
Risposte:
Passaggio 0: installare cuda dai repository standard. (Vedi Come posso installare CUDA su Ubuntu 16.04? )
Passaggio 1: registra un account sviluppatore nvidia e scarica cudnn qui (circa 80 MB)
Passaggio 2: controlla dove si trova l'installazione di cuda. Per l'installazione dal repository è /usr/lib/...
e /usr/include
. Altrimenti, sarà /usr/local/cuda/
o /usr/local/cuda-<version>
. Puoi controllarlo con which nvcc
oldconfig -p | grep cuda
Passaggio 3: copia i file:
Installazione del repository:
$ cd folder/extracted/contents
$ sudo cp -P include/cudnn.h /usr/include
$ sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
$ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*
Installazione del file di esecuzione:
$ cd folder/extracted/contents
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
-P
mantiene i collegamenti simbolici, vale a dire sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
, ed evita il messaggio:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
include/cudnn.h
e le librerie in lib64/
a /usr/local/cuda-8.0/include
e /usr/local/cuda-8.0/lib64
(usando CUDA 8.0, Ubuntu 14.04, tensorflow 0.12.0rc0) - forse questo è utile per qualcuno.
Da 5.1 in poi non è possibile installare secondo quanto menzionato da @Martin. Scarica libcudnn6_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
dal sito nvidia e installane uno alla volta.
sudo dpkg -i <library_name>.deb
Modifica : devi prima installare il runtime (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb) perché dev dipende dal runtime (Grazie @tinmarino)
/usr/lib/x86_64-linux-gnu/
runtime
decause dev
dipende da questo
Scarica e installa l'ultima versione di CUDA da NVidia o l'ultima versione adatta al software con cui lavorerai, se presente, in questo caso la tua versione di T-Flow.
Si noti che l'installazione tramite il gestore pacchetti standard di Ubuntu tramite clic probabilmente non funzionerà in modo appropriato.
Invece, probabilmente dovrai seguire queste istruzioni nel terminale per installare .deb
pakage. Dopo di che dovrete aggiungere alcune righe a .bashrc
, o dovunque appropriati nel tuo caso. Ad esempio, se stai configurando un server, probabilmente sarà in un posto diverso, forse da qualche parte prima del lancio automatico della tua app, poiché .bashrc
probabilmente non verrà eseguito in quel caso.
Ho usato la versione "Library for Linux", non ho avuto molta fortuna con i .deb
pacchetti.
Puoi trovare dove si trova CUDA
which nvcc
. Di solito /usr/local/cuda/
sarà un collegamento simbolico alla versione attualmente installata.
cuda/lib64/
e cuda/include/
). Di solito sudo nautilus
lo faccio e visivamente da lì.Avanti veloce 2018 e NVIDIA ora fornisce cuDNN 7.x per il download. I passaggi dell'installazione sono ancora simili a quelli descritti da @GPrathap. Ma se si desidera sostituire la vecchia versione cuDNN con quella più recente, è necessario rimuoverla prima dell'installazione.
Per ricapitolare:
Passaggio 0. Verificare di aver già installato il toolkit CUDA. Procedere con l'installazione del toolkit CUDA se non lo si è fatto.
Passaggio 1. Accedere al portale per sviluppatori NVIDIA https://developer.nvidia.com/cudnn e scaricare cuDNN.
Passaggio 2. Se cuDNN è stato precedentemente installato, rimuoverlo
sudo dpkg -r <old-cudnn-runtime>.deb
sudo dpkg -r <old-cudnn-dev>.deb
Passaggio 3. Installare la libreria cuDNN (runtime, dev, doc) utilizzando dpkg
sudo dpkg -i <new-cudnn-runtime>.deb
sudo dpkg -i <new-cudnn-dev>.deb
sudo ldconfig
Passaggio 4. Se si desidera trovare dove è stata installata la libreria, è possibile aggiornare l'indice di individuazione e quindi trovare la posizione della libreria.
sudo updatedb
locate libcudnn
Se si installa specificamente cuDNN 7.x su CUDA toolkit 9.1, questo articolo fornisce ulteriori elaborazioni che possono essere di aiuto: http://tech.amikelive.com/node-679/quick-tip-installing-cuda-deep- neural-network-7-cudnn-7-x-library-per-CUDA-toolkit-9-1-on-ubuntu-16-04 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
Inoltre, è possibile scaricare i pacchetti deb per le distribuzioni basate su Debian.
Dalla pagina Web NVIDIA, per il profilo sviluppatore sono disponibili i seguenti file:
Ho provato questo, sulla mia macchina con Debian (Stretch) e TensorFlow funziona!
Aggiunta di un dettaglio importante alle risposte ancora valide di @Martin Thoma e @ Íhor Mé: Dopo aver copiato i file libcudnn nelle directory cuda, è necessario aggiornare il file .bashrc:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
È quindi necessario aggiungere la directory di inclusione a qualsiasi file di configurazione che lo utilizza. Caffe ad esempio ha un file di configurazione che è necessario modificare prima di compilare con make. Per questo, modifica caffe / Makefile.config per aggiungere i percorsi a queste variabili di configurazione (aggiungi spazi bianchi tra i percorsi):
INCLUDE_DIRS: /usr/local/caffe/cuda/include/
LIBRARY_DIRS: /usr/local/cuda/lib64/
Per ogni finestra del terminale corrente che vuoi che queste modifiche siano efficaci, non dimenticare di eseguire il file una volta!
. ~/.bashrc
la risposta è corretta ma per cuDNN 5.1 alcuni nomi sono stati cambiati. Quindi se usi questa versione dopo aver estratto il file cuDNN troverai due cartelle: lib e include. cambiare il nome del file * .h nella cartella include in cudnn.h e quindi seguire https://askubuntu.com/a/767270/641589 . questa modifica è necessaria se si desidera utilizzare cuDNN per Caffe!
Nel 16.04 se stai installando CUDA direttamente dal sito web di Nvidia e stai anche costruendo Tensorflow dal sorgente, puoi specificare la directory che vuoi indicare come Cudnn. Di default è:
/usr/include/x86_64-linux-gnu
Quando stai costruendo Tensorflow ti chiederà quale versione vuoi indicare che stai usando per Cudnn. Quindi chiederà dove si trova. Basta indicare la directory sopra e funzionerà bene. Dovrebbe creare un file di ruote in quel punto e puoi installarlo con pip.