Pour TensorFlow, j'aimerais installer cuda et CuDNN. Comment puis-je faire cela sur Ubuntu 16.04?
Pour TensorFlow, j'aimerais installer cuda et CuDNN. Comment puis-je faire cela sur Ubuntu 16.04?
Réponses:
É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 du référentiel est /usr/lib/...
et /usr/include
. Sinon, ce sera /usr/local/cuda/
ou /usr/local/cuda-<version>
. Vous pouvez vérifier avec which nvcc
ouldconfig -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*
-P
conserve les liens symboliques, c'est-à-dire sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
, et évite le message:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
include/cudnn.h
et les bibliothèques lib64/
à /usr/local/cuda-8.0/include
et /usr/local/cuda-8.0/lib64
( en utilisant CUDA 8.0, Ubuntu 14.04, tensorflow 0.12.0rc0) - c'est peut - être utile pour quelqu'un.
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 le site nvidia et installez-les un par un de la manière suivante.
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)
/usr/lib/x86_64-linux-gnu/
runtime
decause en dev
dépend
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
votre cas, ou le cas échéant. Par exemple, si vous configurez un serveur, ce sera probablement un endroit différent, peut-être quelque part avant le lancement automatique de votre application, car .bashrc
il ne sera probablement pas exécuté dans ce cas.
Télécharger CuDNN à partir de NVidia
J'ai utilisé la version "Library for Linux", je n'ai pas eu beaucoup de chance avec les .deb
paquets.
Vous pouvez trouver où se trouve CUDA via
which nvcc
. Ce /usr/local/cuda/
sera généralement un lien symbolique vers votre version actuellement installée.
cuda/lib64/
et cuda/include/
). Je l'habitude sudo nautilus
et le fais visuellement à partir de là.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 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 pouvant vous ê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 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
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
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 dans le dossier d'inclusion par cudnn.h, puis suivez les instructions https://askubuntu.com/a/767270/641589 . Ce changement est nécessaire si vous vouliez utiliser cuDNN pour Caffe!
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.