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

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

Шаг 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*

Установка Runfile:

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

Начиная с версии 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. Зарегистрируйтесь на веб-сайте 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 и сделайте это оттуда визуально.

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

Подводя итог:

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

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

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

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

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

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

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

sudo updatedblocate libcudnn

Если вы специально устанавливаете cuDNN 7.x на CUDA toolkit 9.1, эта статья содержит более подробную информацию, которая может оказать некоторую помощь: 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/

Кроме того, вы можете загрузить пакеты deb для дистрибутивов на базе Debian.

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

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

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

Добавление важной детали к все еще действительным ответам @Martin Thoma и @Ihor 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

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

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

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

. ~/.bashrc

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

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

/usr/include/x86_64-linux-gnu

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

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

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