많은 장소를 검색했지만 설치 방법을 확인하는 방법이 아니라 설치하는 방법 만 있으면됩니다. NVIDIA 드라이버가 설치되어 있고 CUDA가 설치되어 있는지 확인할 수 있지만 CuDNN이 설치되어 있는지 확인하는 방법을 모르겠습니다. 도움을 주셔서 감사합니다. 감사합니다.
추신.
이것은 카페 구현을위한 것입니다. 현재 모든 것은 CuDNN을 사용하지 않고 작동합니다.
많은 장소를 검색했지만 설치 방법을 확인하는 방법이 아니라 설치하는 방법 만 있으면됩니다. NVIDIA 드라이버가 설치되어 있고 CUDA가 설치되어 있는지 확인할 수 있지만 CuDNN이 설치되어 있는지 확인하는 방법을 모르겠습니다. 도움을 주셔서 감사합니다. 감사합니다.
추신.
이것은 카페 구현을위한 것입니다. 현재 모든 것은 CuDNN을 사용하지 않고 작동합니다.
답변:
CuDNN을 설치하기 위해서는 파일을 CUDA 디렉토리에두기 만하면됩니다. caffe를 설치하는 동안 경로와 CuDNN 옵션을 올바르게 지정한 경우 CuDNN으로 컴파일됩니다.
를 사용하여 확인할 수 있습니다 cmake
. 디렉토리를 작성하고 거기서 caffe/build
실행 하십시오 cmake ..
. 구성이 올 바르면 다음 줄이 표시됩니다.
-- Found cuDNN (include: /usr/local/cuda-7.0/include, library: /usr/local/cuda-7.0/lib64/libcudnn.so)
-- NVIDIA CUDA:
-- Target GPU(s) : Auto
-- GPU arch(s) : sm_30
-- cuDNN : Yes
모든 것이 정확하면 make
주문을 실행하여 카페를 설치하십시오.
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
CuDNN을 설치하면 일부 파일 만 복사됩니다. 따라서 CuDNN이 설치되어 있고 버전이 있는지 확인하려면 해당 파일 만 확인하면됩니다.
1 단계 : nvidia 개발자 계정을 등록하고 여기에서 cudnn을 다운로드하십시오 (약 80MB). nvcc --version
cuda 버전을 얻어야 할 수도 있습니다 .
2 단계 : cuda 설치 위치를 확인하십시오. 대부분의 사람들에게는 /usr/local/cuda/
. 로 확인할 수 있습니다 which nvcc
.
3 단계 : 파일 복사
$ 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*
경로를 조정해야 할 수도 있습니다. 설치의 2 단계를 참조하십시오.
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
다음과 같은 오류가 발생하면
F tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM
TensorFlow를 사용하면 v5 대신 CuDNN v4 사용을 고려할 수 있습니다.
통해 설치 우분투 사용자apt
: https://askubuntu.com/a/767270/10425
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
/usr/local/cuda/**/*.h
먼저 설치된 cudnn 파일을 찾은 다음이 파일을 구문 분석해야합니다. 파일을 찾으려면 다음을 사용할 수 있습니다.
whereis cudnn.h
CUDNN_H_PATH=$(whereis cudnn.h)
그래도 작동하지 않으면 아래의 "Redhat 배포"를 참조하십시오.
이 위치를 찾으면 다음을 수행 할 수 있습니다 ( ${CUDNN_H_PATH}
경로 대체 ).
cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2
결과는 다음과 같아야합니다.
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
버전이 7.5.0임을 의미합니다.
이 설치 방법은 cuda를 / usr / include 및 / usr / lib / cuda / lib64에 설치하므로 확인해야 할 파일은 /usr/include/cudnn.h에 있습니다.
CUDNN_H_PATH=/usr/include/cudnn.h
cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2
CuDNN v5부터 (적어도 sudo dpkg -i <library_name>.deb
패키지 를 통해 설치할 때 ) 다음을 사용해야 할 것 같습니다.
cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2
예를 들면 다음과 같습니다.
$ cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 6
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 21
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
CuDNN 버전 6.0.21이 설치되었음을 나타냅니다.
CentOS에서 CUDA의 위치는 다음과 같습니다.
$ whereis cuda
cuda: /usr/local/cuda
그런 다음이 위치에서 찾은 cudnn.h 파일에 대한 절차를 사용했습니다.
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
CUDA 설치를 확인하려면 아래 명령을 올바르게 실행하면 아래 명령을 실행하면 오류가 발생하지 않고 올바른 버전의 라이브러리가 인쇄됩니다.
function lib_installed() { /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep $1; }
function check() { lib_installed $1 && echo "$1 is installed" || echo "ERROR: $1 is NOT installed"; }
check libcuda
check libcudart
CuDNN의 설치를 확인하려면 CuDNN이 올바르게 설치된 경우 아래 명령을 실행 하면 오류가 발생하지 않습니다.
function lib_installed() { /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep $1; }
function check() { lib_installed $1 && echo "$1 is installed" || echo "ERROR: $1 is NOT installed"; }
check libcudnn
또는
모든 디렉토리에서 아래 명령을 실행할 수 있습니다
nvcc -V
그것은 다음과 같은 출력을 제공해야합니다
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
nvcc
하고 출력을 확인하십시오. 아래 링크 확인 또한 devtalk.nvidia.com/default/topic/457664/…
cuDNN 버전 얻기 [Linux]
cuDNN의 경로를 찾으려면 다음을 사용하십시오.
cat $(whereis cudnn.h) | grep CUDNN_MAJOR -A 2
위의 방법으로 문제가 해결되지 않으면 다음을 시도하십시오.
cat $(whereis cuda)/include/cudnn.h | grep CUDNN_MAJOR -A 2
cuDNN 버전 얻기 [Windows]
cuDNN의 경로를 찾으려면 다음을 사용하십시오.
C:\>where cudnn*
C:\Program Files\cuDNN6\cuda\bin\cudnn64_6.dll
그런 다음 이것을 사용하여 헤더 파일에서 버전을 덤프하십시오.
type "%PROGRAMFILES%\cuDNN6\cuda\include\cudnn.h" | findstr "CUDNN_MAJOR CUDNN_MINOR CUDNN_PATCHLEVEL"
CUDA 버전 구하기
이것은 Linux뿐만 아니라 Windows에서도 작동합니다.
nvcc --version
cudnn.h
cuda 설치에서 파일을 찾을 수 없으며 cudnn이 설치되지 않았다고 생각했습니다. 그러나 나중에 공식 웹 사이트에서 다운로드 한 cuda 샘플 코드를 실행하고 통과했습니다.
type "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\cudnn.h" | findstr "CUDNN_MAJOR CUDNN_MINOR CUDNN_PATCHLEVEL"
실행 ./mnistCUDNN
에/usr/src/cudnn_samples_v7/mnistCUDNN
예를 들면 다음과 같습니다.
cudnnGetVersion() : 7005 , CUDNN_VERSION from cudnn.h : 7005 (7.0.5)
Host compiler version : GCC 5.4.0
There are 1 CUDA capable devices on your machine :
device 0 : sms 30 Capabilities 6.1, SmClock 1645.0 Mhz, MemSize (Mb) 24446, MemClock 4513.0 Mhz, Ecc=0, boardGroupID=0
Using device 0
mnistCUDNN
쓰기 가능한 디렉토리가 아니어야하므로 해당 디렉토리에 있으면 안됩니다. 오히려 샘플은 사용자 홈 디렉토리에 서브 디렉토리로 복사되어 빌드되어야합니다. 따라서 Nvidia 사이트의 지침에 따라 올바르게 설치 및 구축 mnistCUDNN
된 경우~/cudnn_samples_v7
cudnn.h
설치 한 /usr/include/cudnn.h
이 내가와 CUDA를 설치할 때 이전에 발생하지 않도록 왜하지만, apt-get
뿐만 아니라. 이번에 나는 사용 dpkg
하고 있었고 아무것도 바꾸지 않았습니다 ...
USE_CUDNN
사용 여부에 관계없이 예제를 실행 해 보셨습니까?