Für TensorFlow möchte ich cuda und CuDNN installieren. Wie mache ich das auf Ubuntu 16.04?
Für TensorFlow möchte ich cuda und CuDNN installieren. Wie mache ich das auf Ubuntu 16.04?
Antworten:
Schritt 0: Installieren Sie cuda aus den Standard-Repositorys. (Siehe Wie kann ich CUDA unter Ubuntu 16.04 installieren? )
Schritt 1: Registrieren Sie ein nvidia-Entwicklerkonto und laden Sie cudnn hier herunter (ca. 80 MB)
Schritt 2: Überprüfen Sie, wo sich Ihre cuda-Installation befindet. Für die Installation aus dem Repository ist es /usr/lib/...
und /usr/include
. Sonst wird es /usr/local/cuda/
oder sein /usr/local/cuda-<version>
. Sie können es mit which nvcc
oder überprüfenldconfig -p | grep cuda
Schritt 3: Kopieren Sie die Dateien:
Repository-Installation:
$ 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*
Runfile-Installation:
$ 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
behält die symbolischen Links bei, dh sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
, und vermeidet die Meldung:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
include/cudnn.h
und die Bibliotheken in lib64/
zu /usr/local/cuda-8.0/include
und /usr/local/cuda-8.0/lib64
(mit CUDA 8.0, Ubuntu 14.04, Tensorflow 0.12.0rc0) - vielleicht ist dies hilfreich für jemanden.
Ab 5.1 können Sie nicht mehr installieren, wie in @Martin angegeben. Laden Sie es 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
von der NVIDIA-Website herunter und installieren Sie es nacheinander.
sudo dpkg -i <library_name>.deb
Edit : Du musst zuerst die Laufzeit installieren (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb), da dev von der Laufzeit abhängt (Danke @tinmarino)
/usr/lib/x86_64-linux-gnu/
runtime
da dies dev
von der Installation abhängt
Laden Sie die neueste CUDA von NVidia herunter und installieren Sie sie , oder die neueste Version, die zu der Software passt, mit der Sie arbeiten. In diesem Fall Ihre T-Flow-Version.
Beachten Sie, dass die Installation über Ubuntus Standardpaket-Manager per Mausklick wahrscheinlich nicht richtig funktioniert.
Stattdessen müssen Sie wahrscheinlich diese Anweisungen im Terminal .deb
befolgen , um pakage zu installieren . Danach werden Sie müssen ein paar Zeilen hinzufügen zu .bashrc
, oder wo auch immer angemessen in Ihrem Fall. Wenn Sie beispielsweise einen Server konfigurieren, wird dieser möglicherweise vor dem automatischen Start der App an einem anderen Ort abgelegt, da er .bashrc
in diesem Fall möglicherweise nicht ausgeführt wird.
Laden Sie CuDNN von NVidia herunter
Ich habe die "Library for Linux" -Version verwendet und hatte nicht viel Glück mit .deb
Paketen.
Wo sich CUDA befindet, erfahren Sie über
which nvcc
. In der Regel /usr/local/cuda/
wird ein symbolischer Link zu Ihrer aktuell installierten Version angezeigt.
cuda/lib64/
und cuda/include/
). Ich normalerweise sudo nautilus
und mache es von dort aus visuell.Schneller Vorlauf 2018 und NVIDIA bietet jetzt cuDNN 7.x zum Download an. Die Installationsschritte ähneln denen von @GPrathap. Wenn Sie jedoch die alte cuDNN-Version durch die neuere ersetzen möchten, müssen Sie diese vor der Installation zuerst entfernen.
Um es zusammenzufassen:
Schritt 0. Stellen Sie sicher, dass Sie das CUDA-Toolkit bereits installiert haben. Fahren Sie mit der Installation des CUDA-Toolkits fort, wenn Sie dies nicht getan haben.
Schritt 1. Rufen Sie das NVIDIA-Entwicklerportal https://developer.nvidia.com/cudnn auf und laden Sie cuDNN herunter.
Schritt 2. Wenn Sie zuvor cuDNN installiert haben, entfernen Sie es
sudo dpkg -r <old-cudnn-runtime>.deb
sudo dpkg -r <old-cudnn-dev>.deb
Schritt 3. Installieren Sie die cuDNN-Bibliothek (Runtime, Dev, Doc) mit dpkg
sudo dpkg -i <new-cudnn-runtime>.deb
sudo dpkg -i <new-cudnn-dev>.deb
sudo ldconfig
Schritt 4. Wenn Sie herausfinden möchten, wo die Bibliothek installiert wurde, können Sie den Lokalisierungsindex aktualisieren und dann den Bibliotheksspeicherort ermitteln.
sudo updatedb
locate libcudnn
Wenn Sie cuDNN 7.x speziell für CUDA Toolkit 9.1 installieren, enthält dieser Artikel weitere Informationen, die hilfreich sein können: http://tech.amikelive.com/node-679/quick-tip-installing-cuda-deep- Neuronales Netzwerk-7-cudnn-7-x-Bibliothek-für-cuda-Toolkit-9-1-on-Ubuntu-16-04 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
Sie können auch die deb-Pakete für Debian-basierte Distributionen herunterladen.
Auf der NVIDIA-Webseite stehen für das Entwicklerprofil die folgenden Dateien zur Verfügung:
Ich habe dies über meine Maschine mit Debian (Stretch) getestet und TensorFlow funktioniert!
Hinzufügen eines wichtigen Details zu den noch gültigen Antworten von @Martin Thoma und @ Íhor Mé: Nach dem Kopieren der libcudnn-Dateien in die cuda-Verzeichnisse müssen Sie Ihre .bashrc-Datei aktualisieren:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
Sie müssen dann das Include-Verzeichnis zu jeder Konfigurationsdatei hinzufügen, die es verwendet. Caffe hat zB eine Konfigurationsdatei, die Sie bearbeiten müssen, bevor Sie mit make kompilieren. Bearbeiten Sie dazu caffe / Makefile.config, um die Pfade zu diesen Konfigurationsvariablen hinzuzufügen (fügen Sie Leerzeichen zwischen den Pfaden hinzu):
INCLUDE_DIRS: /usr/local/caffe/cuda/include/
LIBRARY_DIRS: /usr/local/cuda/lib64/
Vergessen Sie nicht, die Datei für jedes aktuelle Terminalfenster, in dem diese Änderungen wirksam werden sollen, einmal auszuführen!
. ~/.bashrc
Die Antwort ist richtig, aber für cuDNN 5.1 wurden einige Namen geändert. Wenn Sie diese Version nach dem Entpacken der cuDNN-Datei verwenden, finden Sie zwei Ordner: lib und include. Ändern Sie den Namen der * .h-Datei im Include-Ordner in cudnn.h und folgen Sie dann https://askubuntu.com/a/767270/641589 . Diese Änderung ist erforderlich, wenn Sie cuDNN für Caffe verwenden möchten!
In 16.04 können Sie, wenn Sie CUDA direkt von der Nvidia-Website installieren und Tensorflow auch aus dem Quellcode erstellen, das Verzeichnis angeben, das Sie als Cudnn angeben möchten. Standardmäßig ist es:
/usr/include/x86_64-linux-gnu
Wenn Sie Tensorflow erstellen, werden Sie gefragt, welche Version Sie für Cudnn verwenden möchten. Danach fragt es, wo es sich befindet. Geben Sie einfach das Verzeichnis oben an und es wird gut funktionieren. Es sollte an diesem Punkt eine Raddatei erstellen und Sie können sie mit pip installieren.