环境:Ubuntu 14.04.5 (cat /etc/issue查看)
将cuda7.5升级到cuda8之后,出现了如下编译错误
too many arguments to function ‘cudnnSetFilter4dDescriptor’
cudnnSetFilter4dDescriptor(l->weightDesc, CUDNN_DATA_FLOAT, CUDNN_TENSOR_NCHW, l->n, l->c, l->size, l->size);
查看编译记录,发现cudnn的问题,查看cudnn版本为4,怀疑和cuda8不兼容。便升级到cudnn v5.1。
步骤如下:到官网点击打开链接注册并下载Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0下的cuDNN v5.1 Library for Linux
1.重命名文件名并解压
cp cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgz
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
2.解压后当前目录下出现cuda文件夹,替换/usr/local/cuda-8.0/下
cp cuda/lib/* /usr/local/cuda-8.0/lib64/
cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/
3.重新编译darknet
make clean
make
参考文献:http://wap.sciencenet.cn/blogview.aspx?id=1035941
http://blog.csdn.net/eddy_zheng/article/details/52910249