web-dev-qa-db-fra.com

Comment puis-je installer CuDNN sur Ubuntu 16.04?

Pour TensorFlow, j'aimerais installer cuda et CuDNN. Comment puis-je faire cela sur Ubuntu 16.04?

96
Martin Thoma

Étape 0: Installez cuda à partir des référentiels standard. (Voir Comment puis-je installer CUDA sur Ubuntu 16.04? )

Étape 1: Enregistrez un compte de développeur nvidia et téléchargez cudnn ici (environ 80 Mo)

Étape 2: Vérifiez où se trouve votre installation cuda. Pour l'installation à partir du référentiel, il s'agit de /usr/lib/... et /usr/include. Sinon, ce sera /usr/local/cuda/ ou /usr/local/cuda-<version>. Vous pouvez le vérifier avec which nvcc ou ldconfig -p | grep cuda

Étape 3: Copiez les fichiers:

Installation du référentiel:

$ 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*

Installation du fichier d'exécution:

$ 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*
130
Martin Thoma

A partir de la version 5.1, vous ne pouvez pas installer conformément à ce que @Martin a mentionné. Téléchargez 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 depuis site nvidia et installez-les un par un en suivant les instructions.

 Sudo dpkg -i <library_name>.deb

Edit : vous devez d'abord installer le runtime (libcudnn6_6.0.21-1 + cuda8.0_AMD64.deb) car dev dépend du runtime (Merci @tinmarino)

37
GPrathap
  1. Inscrivez-vous sur le site Web de NVidia. Cela peut prendre un jour ou deux avant que votre compte soit approuvé. Du moins, c'était le cas lorsque je me suis inscrit.
  2. Téléchargez et installez la dernière version de CUDA de NVidia , ou la version la plus récente compatible avec le logiciel avec lequel vous travaillerez, le cas échéant, dans ce cas, votre version de T-Flow.

    Notez que l'installation via le gestionnaire de paquets standard d'ubuntu via un clic ne fonctionnera probablement pas correctement.

    Au lieu de cela, vous devrez probablement suivre ces instructions dans le terminal pour installer .deb pakage. Après cela, vous devrez ajouter quelques lignes à .bashrc, ou selon le cas, dans votre cas. Par exemple, si vous configurez un serveur, il s'agira probablement d'un endroit différent, peut-être avant le lancement automatique de votre application, car .bashrc ne sera probablement pas exécuté dans ce cas.

  3. Télécharger CuDNN de NVidia

    J'ai utilisé la version "Library for Linux", je n'ai pas eu beaucoup de chance avec les paquets .deb.

  4. Vous pouvez trouver où se trouve CUDA via which nvcc. /usr/local/cuda/ sera généralement un lien symbolique vers votre version actuellement installée.

  5. Ouvrez l’archive CuDNN et copiez le contenu approprié aux emplacements appropriés du dossier d’installation de CUDA (cuda/lib64/ et cuda/include/). J'ai l'habitude Sudo nautilus et le faire visuellement.
11
Íhor Mé

En 2018, NVIDIA fournit maintenant cuDNN 7.x pour le téléchargement. Les étapes d'installation sont toujours similaires à celles décrites par @GPrathap. Toutefois, si vous souhaitez remplacer l'ancienne version de cuDNN par la plus récente, vous devez la supprimer avant l'installation.

Récapituler:

Étape 0. Vérifiez que vous avez déjà installé le toolkit CUDA. Procédez à l'installation de la boîte à outils CUDA si vous ne l'avez pas déjà fait.

Étape 1. Accédez au portail de développement NVIDIA https://developer.nvidia.com/cudnn et téléchargez le fichier CuDNN.

Étape 2. Si vous avez déjà installé cuDNN, supprimez-le

Sudo dpkg -r <old-cudnn-runtime>.deb
Sudo dpkg -r <old-cudnn-dev>.deb

Étape 3. Installez la bibliothèque cuDNN (runtime, dev, doc) à l'aide de dpkg

Sudo dpkg -i <new-cudnn-runtime>.deb
Sudo dpkg -i <new-cudnn-dev>.deb
Sudo ldconfig

Étape 4. Si vous souhaitez rechercher l'emplacement d'installation de la bibliothèque, vous pouvez mettre à jour l'index de localisation, puis rechercher l'emplacement de la bibliothèque.

Sudo updatedb
locate libcudnn

Si vous installez spécifiquement cuDNN 7.x par rapport à CUDA Toolkit 9.1, cet article fournit des informations plus détaillées qui peuvent être utiles: http://tech.amikelive.com/node-679/quick-tip-installing- cuda-deep-neural-network-7-cudnn-7-x-library-for-cuda-toolkit-9-1-on-ubuntu-16-04 /

7
Mike

Vous pouvez également télécharger les packages deb pour les distributions basées sur Debian.

À partir de la page Web NVIDIA, les fichiers suivants sont disponibles pour le profil du développeur:

  • bibliothèque d'exécution cuDNN v5.1 pour Linux (Deb)
  • bibliothèque de développeurs cuDNN v5.1 pour Linux (Deb)
  • fichiers cuDNN v5.1 et exemples de code Linux (Deb)

J'ai testé cela sur ma machine avec Debian (Stretch) et TensorFlow fonctionne!

3
LAraque

Ajouter un détail important aux réponses encore valables de @Martin Thoma et @ Íhor Mé: Après avoir copié les fichiers libcudnn dans les répertoires cuda, vous devez mettre à jour votre fichier .bashrc:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

Vous devez ensuite ajouter le répertoire include à tout fichier de configuration qui l'utilise. Caffe par exemple a un fichier de configuration que vous devez éditer avant de compiler avec make. Pour cela, éditez caffe/Makefile.config pour ajouter les chemins d'accès à ces variables de configuration (ajoutez des espaces entre les chemins):

INCLUDE_DIRS: /usr/local/caffe/cuda/include/ 
LIBRARY_DIRS: /usr/local/cuda/lib64/

Pour chaque fenêtre de terminal actuelle dans laquelle vous souhaitez que ces modifications soient effectives, n'oubliez pas d'exécuter le fichier une fois!

. ~/.bashrc
2
Agile Bean

Dans 16.04, si vous installez CUDA directement à partir du site Web de Nvidia et que vous construisez également Tensorflow à partir de la source, vous pouvez spécifier le répertoire que vous souhaitez indiquer comme étant Cudnn. Par défaut c'est:

/usr/include/x86_64-linux-gnu

Lorsque vous construisez Tensorflow, il vous demandera quelle version vous souhaitez indiquer que vous utilisez pour Cudnn. Ensuite, il vous demandera où il se trouve. Indiquez simplement le répertoire ci-dessus et cela fonctionnera bien. Il devrait créer un fichier de roue à ce stade et vous pouvez l'installer avec pip.

0
Goddard

la réponse est correcte, mais pour CUDNN 5.1, certains noms ont été modifiés. Donc, si vous utilisez cette version après avoir extrait le fichier cuDNN, vous trouverez deux dossiers: lib et include. remplacez le nom du fichier * .h du dossier include par cudnn.h, puis suivez https://askubuntu.com/a/767270/641589 . Ce changement est nécessaire si vous vouliez utiliser cuDNN pour Caffe!

0
abolfazl taghribi