alf*_*dox 128 cuda computer-vision caffe conv-neural-network cudnn
我搜索了很多地方,但我得到的是如何安装它,而不是如何验证它是否已安装.我可以验证我的NVIDIA驱动程序已安装,并且已安装CUDA,但我不知道如何验证是否已安装CuDNN.非常感谢帮助,谢谢!
PS.
这是为了实现caffe.目前一切正常,没有启用CuDNN.
Mar*_*oma 159
CuDNN的安装只是复制一些文件.因此,要检查是否安装了CuDNN(以及您拥有的版本),您只需要检查这些文件.
步骤1:注册一个nvidia开发者帐户并在此处下载cudnn(大约80 MB).你可能需要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*
Run Code Online (Sandbox Code Playgroud)
您可能需要调整路径.请参阅安装的第2步.
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)
当你收到错误时
F tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM
Run Code Online (Sandbox Code Playgroud)
使用TensorFlow,您可以考虑使用CuDNN v4而不是v5.
通过apt
以下网址安装的Ubuntu用户:https://askubuntu.com/a/767270/10425
Jon*_*han 88
从CuDNN v5开始(至少在通过${CUDNN_H_PATH}
软件包安装时),看起来您可能需要使用以下内容:
whereis cudnn.h
CUDNN_H_PATH=$(whereis cudnn.h)
Run Code Online (Sandbox Code Playgroud)
例如:
cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)
表示已安装CuDNN版本6.0.21.
在CentOS上,我找到了CUDA的位置:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
Run Code Online (Sandbox Code Playgroud)
然后我使用了从这个位置找到的cudnn.h文件中的过程:
CUDNN_H_PATH=/usr/include/cudnn.h
cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)
She*_*ock 39
要检查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
Run Code Online (Sandbox Code Playgroud)
要检查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
Run Code Online (Sandbox Code Playgroud)
要么
您可以从任何目录运行以下命令
nvcc -V
Run Code Online (Sandbox Code Playgroud)
它应该给出这样的输出
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
Run Code Online (Sandbox Code Playgroud)
小智 36
安装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
Run Code Online (Sandbox Code Playgroud)
如果一切正确,只需运行make
命令从那里安装caffe.
Shi*_*hah 23
获取cuDNN版本[Linux]
使用以下命令查找cuDNN的路径:
$ whereis cuda
cuda: /usr/local/cuda
Run Code Online (Sandbox Code Playgroud)
然后使用它从头文件中获取版本,
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)
获取cuDNN版本[Windows]
使用以下命令查找cuDNN的路径:
C:\>where cudnn*
C:\Program Files\cuDNN6\cuda\bin\cudnn64_6.dll
Run Code Online (Sandbox Code Playgroud)
然后使用它从头文件转储版本,
type "%PROGRAMFILES%\cuDNN6\cuda\include\cudnn.h" | findstr "CUDNN_MAJOR CUDNN_MINOR CUDNN_PATCHLEVEL"
Run Code Online (Sandbox Code Playgroud)
获得CUDA版本
这适用于Linux和Windows:
nvcc --version
Run Code Online (Sandbox Code Playgroud)
小智 14
torch.backends.cudnn.version()
Run Code Online (Sandbox Code Playgroud)
应该能解决问题
Jac*_*ern 11
我有 cuDNN 8.0,上面的建议都不适合我。所需的信息在 中/usr/include/cudnn_version.h
,所以
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)
成功了。
小智 6
跑./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
Run Code Online (Sandbox Code Playgroud)
如何检查python
代码:
from tensorflow.python.platform import build_info as tf_build_info
print(tf_build_info.cudnn_version_number)
# 7 in v1.10.0
Run Code Online (Sandbox Code Playgroud)
小智 6
在 Ubuntu 20.04LTS 上:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR
Run Code Online (Sandbox Code Playgroud)
返回了预期的结果
小智 6
对于 CUDnn 8.1 及更高版本,请使用以下命令:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)