Ubuntu 16.04에 CuDNN을 어떻게 설치합니까?


101

TensorFlow의 경우 cuda와 CuDNN을 설치하고 싶습니다. Ubuntu 16.04에서 어떻게합니까?


4
경고 : tensorflow를 실행하려고하는데 cudnn이 필요한 경우 지금 6.0이 아닌 5.1을 설치하십시오.
wordsforthewise

@wordsforthewise CuDNN 6.0이 이제 지원됩니다 (적어도 TF 1.4의 경우).
ComputerScientist

답변:


134

0 단계 : 표준 리포지토리에서 cuda를 설치합니다. ( Ubuntu 16.04에 CUDA를 설치하려면 어떻게합니까? )

1 단계 : nvidia 개발자 계정을 등록하고 여기에서 cudnn을 다운로드하십시오 (약 80MB)

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
Max Gordon

1
Update에서 여기에 "(V5는 현재 릴리스 후보이고 소스에서 TensorFlow를 설치하는 경우에만 지원됩니다) cuDNN의 V4를 다운로드합니다."
nobar

36
Tensorflow 모든 것을 찾기 위해, 나는 복사했다 include/cudnn.h과의 라이브러리 lib64//usr/local/cuda-8.0/include하고 /usr/local/cuda-8.0/lib64(CUDA 8.0, 우분투 14.04, Tensorflow의 0.12.0rc0 사용) - 어쩌면이 누군가에 도움이됩니다.
David Stutz

@MaxGordon 안녕하세요, ubuntu16.04 power8의 런타임 라이브러리 또는 Linux의 라이브러리를 사용하는 것이 중요합니까?
16:15에

1
다른 팁-cudnn을 설치하기 전에 cuda를 설치하십시오. 그렇지 않으면 cuda 설치 프로그램은 사용자가 만든 / usr / local / cuda 디렉토리를 덮어 쓰지 않습니다.
kevins

38

5.1부터 @Martin이 언급 한 내용에 따라 설치할 수 없습니다. nvidia 사이트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 에서 다운로드 하여 다음과 같은 방법으로 하나씩 설치하십시오.

 sudo dpkg -i <library_name>.deb

편집 : dev는 런타임에 의존하기 때문에 먼저 런타임 (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb)을 설치해야합니다 (감사합니다 @tinmarino)


1
감사. 나는이 문제에 여러 번 빠졌다. 엄지 손가락 규칙을 설정합시다. 문제가 해결되지 않으면 .deb 패키지를 사용하여 설치하십시오.
Anuraag Vaidya

8
소스에서 Tensorflow를 컴파일 할 때 cuDNN 라이브러리 설치 경로는/usr/lib/x86_64-linux-gnu/
Visionscaper

1
먼저 설치해야합니다 runtimedecause가 dev에 달려
tinmarino

12
  1. NVidia 웹 사이트에 등록하십시오. 계정 승인을받는 데 하루나 이틀이 걸릴 수 있습니다. 적어도 내가 등록했을 때 사건으로 돌아갔습니다.
  2. NVidia에서 최신 CUDA 또는 작업 할 소프트웨어에 적합한 최신 버전 (이 경우 T-Flow 버전)을 다운로드하여 설치 하십시오.

    클릭을 통해 우분투의 표준 패키지 관리자를 통해 설치하면 제대로 작동하지 않을 수 있습니다.

    대신, pakage 를 설치하려면 터미널에서 다음 지시 사항 을 따라야 합니다.deb . 그 후 당신이해야 몇 줄 추가.bashrc귀하의 경우 적절한, 또는 어디를. 예를 들어 서버를 구성하는 경우 아마도 서버의 다른 위치, 아마도 앱의 자동 .bashrc실행 전에 어딘가에있을 것입니다.이 경우에는 실행되지 않을 것입니다.

  3. NVidia에서 CuDNN 다운로드

    "Library for 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 단계. dpkg를 사용하여 cuDNN 라이브러리 (런타임, dev, doc) 설치

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

단계 4. 라이브러리가 설치된 위치를 찾으려면 찾기 색인을 업데이트 한 다음 라이브러리 위치를 찾을 수 있습니다.

sudo updatedb
locate libcudnn

CUDA 툴킷 9.1에 대해 cuDNN 7.x를 구체적으로 설치하는 경우,이 기사는 다음과 같은 도움이 될 수있는 자세한 설명을 제공합니다. http://tech.amikelive.com/node-679/quick-tip-installing-cuda-deep- 신경망 -7-cudnn-7-x-library-for-cuda-toolkit-9-1-on-ubuntu-16-04 /


감사합니다 @ Mike, deb 파일과 일반 .tar 파일의 차이점이 무엇인지 알고 있습니까? 어느 것이 추천되고 왜? (나 자신이 runfile을 사용하여 CUDA를 설치하고 우분투에서 cuDNN을 위해 .tar 패키지를 사용하는 방식으로)
Rika

에 따라 관련 설치 문서 에서 엔비디아 는 이전 버전을 제거하는 데에 대해 무슨 말을하는 것은 올바르지 않습니다 :cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
n1k31t4

3

또한 데비안 기반 배포판 용 deb 패키지를 다운로드 할 수 있습니다.

NVIDIA 웹 페이지에서 개발자 프로필을 위해 다음 파일을 사용할 수 있습니다.

  • Linux 용 cuDNN v5.1 런타임 라이브러리 (Deb)
  • Linux 용 cuDNN v5.1 개발자 라이브러리 (Deb)
  • cuDNN v5.1 코드 샘플 및 사용 설명서 Linux (Deb)

Debian (Stretch)을 사용하여 내 컴퓨터에서 이것을 테스트했으며 TensorFlow가 작동 중입니다!


6
현재 (2016 년 7 월) cuDNN v5.1은 소스에서 컴파일하지 않는 한 TensorFlow와 작동하지 않습니다. tensorflow.org/versions/r0.9/get_started/os_setup.html
mastazi at

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

그런 다음 include 디렉토리를 사용하는 구성 파일에 include 디렉토리를 추가해야합니다. 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라는 두 개의 폴더가 있습니다. include 폴더의 * .h 파일 이름을 cudnn.h로 변경 한 다음 https://askubuntu.com/a/767270/641589 를 따르십시오 . Caffe에 cuDNN을 사용하려면이 변경이 필요합니다!


답을 수정하고 '위의 지시 사항'참조를 추가하십시오.
sudodus

0

16.04에서 Nvidia 웹 사이트에서 직접 CUDA를 설치하고 소스에서 Tensorflow를 빌드하는 경우 Cudnn으로 표시하려는 디렉토리를 지정할 수 있습니다. 기본적으로 다음과 같습니다.

/usr/include/x86_64-linux-gnu

Tensorflow를 빌드 할 때 Cudnn에 사용중인 버전을 표시하려고합니다. 그런 다음 어디에 있는지 묻습니다. 위의 디렉토리를 표시하면 정상적으로 작동합니다. 그 시점에서 휠 파일을 작성해야하며 pip로 설치할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.