在按照教程安装好torch框架后,使用其进行训练时,发现出现以下问题:
'libcudnn' not found in library path. 后面强调安装CuDNN,并确保libcudnn.so.5 or libcudnn.5.dylib等文件存在于library load path。
同时修改过后又出现以下问题:
These bindings are for version 5005 or above, while the loaded CuDNN is version: 5004
虽然问题在出错处解释的比较清楚,但是由于开始没有找到问题关键往往仍然出现问题而不知所措,解决重点在下面几点,请之一排查:
(1)是否安装cudnn,同时cudnn需要与cuda版本对应!
如:cudnn-7.5-linux-x64-v5.0-ga.tgz ,就是cuda7.5版本对应的cudnn的5.0版本,如果cuda使用7.0版本,请下载对应的cudnn-7.0-... 同时,既然错误提示已经提出需要高版本,最好安装高版本的cudnn,防止报错。
(2)将libcudnn添加至library load path或LD_LIBRARY_PATH
将libcudnn.*等文件复制添加至 /user/local/lib,或者添加libcudnn到LD_LIBRARY_PATH即为该环境变量,用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。
(3)删除 /user/local/lib或环境变量中的所有旧版本libcudnn
对于前文中的第二个问题,很多时候不是没有安装新版本,是旧版本未删除,导致编译时仍然链接到了旧版本。