Як я можу встановити CuDNN на Ubuntu 16.04?


101

Для TensorFlow я хотів би встановити cuda та CuDNN. Як це зробити на Ubuntu 16.04?


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

@wordsforthewise CuDNN 6.0 тепер підтримується (принаймні для TF 1.4).
ComputerScientist

Відповіді:


134

Крок 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*

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 з джерел)."
nobar

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 каталоги.
кевін

38

З 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
Спочатку потрібно встановити, runtimeоскільки це devзалежить
tinmarino

12
  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/lib64/та cuda/include/) встановлення CUDA . Я зазвичай 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 (час виконання, dev, doc) за допомогою dpkg

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

Крок 4. Якщо ви хочете знайти, де встановлена ​​бібліотека, ви можете оновити індекс пошуку, а потім знайти місце розташування бібліотеки.

sudo updatedb
locate libcudnn

Якщо ви спеціально встановлюєте cuDNN 7.x проти інструментарію CUDA 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 /


Спасибі @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

Також ви можете завантажити деб-пакети для дистрибутивів на основі Debian.

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

  • cuDNN v5.1 Бібліотека виконання для Linux (Deb)
  • cuDNN v5.1 Бібліотека розробників для Linux (Deb)
  • Зразки коду cuDNN v5.1 та керівництво користувача Linux (Deb)

Я перевірив це, над моєю машиною з Debian (Stretch) і TensorFlow працює!


6
Зауважте, що на сьогодні (липень 2016 року) cuDNN v5.1 не працюватиме з TensorFlow, якщо ви не склали його з джерела, див. Tensorflow.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. Потім після цього він запитає, де він знаходиться. Просто вкажіть каталог вище, і він буде добре працювати. Він повинен створити файл колеса в цей момент, і ви можете встановити його за допомогою pip.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.