Как я могу установить CuDNN на Ubuntu 16.04?


102

Для TensorFlow я бы хотел установить cuda и CuDNN. Как мне это сделать на Ubuntu 16.04?


4
Предупреждение: если вы пытаетесь запустить тензор потока и вам нужен cudnn, обязательно установите 5.1, а не 6.0 на данный момент.
— словами

@wordsforthewise CuDNN 6.0 теперь поддерживается (по крайней мере, для TF 1.4).
— ComputerScientist

Ответы:


135

Шаг 0: Установите cuda из стандартных репозиториев. (См. Как я могу установить CUDA в Ubuntu 16.04? )

Шаг 1: Зарегистрируйте учетную запись разработчика nvidia и загрузите cudnn здесь (около 80 МБ)

Шаг 2: Проверьте, где находится ваша установка cuda. Для установки из репозитория это /usr/lib/...и есть /usr/include. В противном случае это будет /usr/local/cuda/или /usr/local/cuda-<version>. Вы можете проверить это с помощью which nvccилиldconfig -p | grep cuda

Шаг 3: Скопируйте файлы:

Установка репозитория:

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

Установка запуска файла:

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

14
Добавление -Pсохраняет символические ссылки, т. sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/Е. Избегает сообщения:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
— Макс Гордон,

1
Обновление отсюда : «Загрузите cuDNN v4 (v5 в настоящее время является кандидатом на выпуск и поддерживается только при установке TensorFlow из исходников)».
— Нобар

36
Для Tensorflow , чтобы найти все, я должен был копировать include/cudnn.hи библиотеки lib64/к /usr/local/cuda-8.0/includeи /usr/local/cuda-8.0/lib64( с помощью CUDA 8.0, Ubuntu 14.04, Tensorflow 0.12.0rc0) - может быть , это полезно для кого - то.
— Дэвид Штутц

@MaxGordon Привет, имеет ли значение, если я использую библиотеку времени выполнения для ubuntu16.04 power8 или библиотеку для linux?
— trytolearn

1
Еще один совет - убедитесь, что вы устанавливаете CUDA перед установкой CUDNN. В противном случае установщики cuda не будут перезаписывать любые каталоги / usr / local / cuda, которые вы, возможно, создали.
— Kevins

39

Начиная с версии 5.1 вы не можете устанавливать в соответствии с тем, что упоминал @Martin. Скачайте 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с сайта nvidia и установите один за другим следующим образом.

 sudo dpkg -i <library_name>.deb

Редактировать : Вы должны сначала установить среду выполнения (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb), потому что dev зависит от среды выполнения (спасибо @tinmarino)


1
Благодарю. Я попадал в эту проблему несколько раз. Давайте просто установим правило большого пальца. Когда что-то не работает, придерживайтесь установки с использованием пакетов .deb.
— Анурааг Вайдья

8
При компиляции Tensorflow из исходного кода полезно знать, что путь установки библиотеки /usr/lib/x86_64-linux-gnu/
— cuDNN

1
Вы должны сначала установить runtimedecause devзависит от этого
— tinmarino

13
  1. Зарегистрируйтесь на сайте NVidia. Может пройти день или два, прежде чем они одобрят ваш аккаунт. По крайней мере, так было, когда я регистрировался.
  2. Загрузите и установите последнюю версию CUDA от NVidia или последнюю версию, которая соответствует программному обеспечению, с которым вы будете работать, если таковая имеется, в данном случае - вашей версии T-Flow.

    Обратите внимание, что установка через стандартный менеджер пакетов ubuntu с помощью нажатия, вероятно, не будет работать должным образом.

    Вместо этого вам, вероятно, придется следовать этим инструкциям в терминале, чтобы установить .debпакет. После этого вам придется добавить несколько строк в .bashrcили в соответствующих случаях в вашем случае. Например, если вы настраиваете сервер, он, вероятно, будет в другом месте, возможно, где-то до автозапуска вашего приложения, поскольку .bashrcв этом случае он, вероятно, не будет выполнен.

  3. Скачать CuDNN от NVidia

    Я использовал версию «Библиотека для Linux», мне не очень повезло с .debпакетами.

  4. Вы можете найти, где CUDA находится через which nvcc. Обычно /usr/local/cuda/это будет символическая ссылка на вашу текущую версию.

  5. Откройте архив CuDNN и скопируйте соответствующее содержимое в соответствующие места в папке установки CUDA ( cuda/lib64/и cuda/include/). Я обычно sudo nautilusи делаю это оттуда визуально.

8

Перенесемся в 2018 году, и теперь NVIDIA предоставляет cuDNN 7.x для загрузки. Шаги установки все еще похожи на описанные @GPrathap. Но если вы хотите заменить старую версию cuDNN на новую, вам необходимо сначала удалить ее перед установкой.

Напомним:

Шаг 0. Убедитесь, что вы уже установили инструментарий CUDA. Продолжите установку инструментария CUDA, если у вас его нет.

Шаг 1. Перейдите на портал разработчиков NVIDIA https://developer.nvidia.com/cudnn и загрузите cuDNN.

Шаг 2. Если вы ранее установили cuDNN, удалите его

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

Шаг 3. Установите библиотеку cuDNN (runtime, dev, doc) с помощью dpkg

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

Шаг 4. Если вы хотите узнать, где была установлена ​​библиотека, вы можете обновить индекс locate, а затем найти местоположение библиотеки.

sudo updatedb
locate libcudnn

Если вы специально устанавливаете cuDNN 7.x против инструментария CUDA 9.1, эта статья предоставляет дополнительную информацию, которая может быть полезна: http://tech.amikelive.com/node-679/quick-tip-install-cuda-deep- нейронной сети 7-cudnn-7-х-библиотека-для-Cuda-инструментарием-9-1-на-убунту-16-04 /


Спасибо @Mike, вы знаете, в чем разница между использованием файлов deb и обычного файла .tar? какой из них рекомендуется и почему? (Между прочим, я сам устанавливал CUDA, используя runfile, а также использовал пакет .tar для cuDNN в Ubuntu)
— Rika

Согласно соответствующим установочным документам от Nvidia , то, что вы говорите о необходимости удаления старых версий, неверно:cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
— n1k31t4

3

Также вы можете скачать пакеты deb для дистрибутивов на основе Debian.

На веб-странице NVIDIA для профиля разработчика доступны следующие файлы:

  • cuDNN v5.1 Runtime Library для Linux (Deb)
  • cuDNN v5.1 библиотека разработчика для Linux (Deb)
  • Примеры кода cuDNN v5.1 и руководство пользователя Linux (Deb)

Я проверял это на моей машине с Debian (Stretch) и TensorFlow работает!


6
Обратите внимание, что на данный момент (июль 2016 г.) cuDNN v5.1 не будет работать с TensorFlow, если вы не скомпилировали его из исходного кода, см. Tenorflow.org/versions/r0.9/get_started/os_setup.html
— mastazi

2

Добавление важной детали к все еще действующим ответам @Martin Thoma и @ Íhor Mé: после копирования файлов libcudnn в каталоги cuda необходимо обновить файл .bashrc:

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

Затем вы должны добавить каталог включения в любой файл конфигурации, который его использует. Например, у Caffe есть файл конфигурации, который вы должны отредактировать перед компиляцией с помощью make. Для этого отредактируйте caffe / Makefile.config, чтобы добавить пути к этим переменным конфигурации (добавить пробел между путями):

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

Для каждого текущего окна терминала вы хотите, чтобы эти изменения были эффективными, не забудьте выполнить файл один раз!

. ~/.bashrc

0

ответ правильный, но для cuDNN 5.1 некоторые имена были изменены. Так что если вы используете эту версию после распаковки файла cuDNN, вы найдете две папки: lib и include. измените имя файла * .h в папке include на cudnn.h, а затем следуйте https://askubuntu.com/a/767270/641589 . это изменение необходимо, если вы хотите использовать cuDNN для Caffe!


Пожалуйста, отредактируйте свой ответ и добавьте ссылку «инструкция выше».
— sudodus

0

В 16.04, если вы устанавливаете CUDA непосредственно с веб-сайта Nvidia и также создаете Tensorflow из исходного кода, вы можете указать каталог, который вы хотите указать как Cudnn. По умолчанию это:

/usr/include/x86_64-linux-gnu

Когда вы создаете Tensorflow, он спросит вас, какую версию вы хотите указать, что вы используете для Cudnn. Затем после этого он спросит, где он находится. Просто укажите каталог выше, и он будет работать нормально. Он должен создать файл wheel в этот момент, и вы можете установить его с помощью pip.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.