Для 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)
- Зарегистрируйтесь на веб-сайте NVidia. Это может занять день или два, прежде чем они получат одобрение вашей учетной записи. По крайней мере, так было раньше, когда я регистрировался.
-
Загрузите и установите последнюю версию CUDA от NVidia, или последняя версия, соответствующая программному обеспечению, с которым вы будете работать, если таковое имеется, в данном случае ваша версия T-Flow.
Обратите внимание, что установка через стандартный менеджер пакетов Ubuntu с помощью щелчка, вероятно, не будет работать должным образом.
Вместо этого вам, вероятно, придется следовать эти инструкции в терминале для установки
.deb
упаковка. После этого вам придется добавьте несколько строк к.bashrc
, или там, где это уместно в вашем случае. Например, если вы настраиваете сервер, он, вероятно, будет находиться в другом месте, возможно, где-то до автозапуска вашего приложения, поскольку.bashrc
вероятно, в этом случае он не будет выполнен. -
Я использовал версию "Библиотека для Linux", но мне не очень повезло с
.deb
пакеты. Вы можете найти, где находится CUDA, с помощью
which nvcc
. Обычно/usr/local/cuda/
будет символическая ссылка на вашу текущую установленную версию.- Откройте архив 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).