Pour TensorFlow, j'aimerais installer cuda et CuDNN. Comment puis-je faire cela sur Ubuntu 16.04?
É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*
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)
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.
J'ai utilisé la version "Library for Linux", je n'ai pas eu beaucoup de chance avec les paquets .deb
.
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.
cuda/lib64/
et cuda/include/
). J'ai l'habitude Sudo nautilus
et le faire visuellement.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 /
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:
J'ai testé cela sur ma machine avec Debian (Stretch) et TensorFlow fonctionne!
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
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.
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!