Caffe编译时提示 CUDNN 版本不兼容的解决办法
在编译一些比较老的版本的 caffe 的时候可能会出现 CUDNN 版本不兼容的问题。比如编译 faster rcnn,就会提示如下错误:
error: too few arguments to function ‘cudnnStatus_t
cudnnSetConvolution2dDescriptor(cudnnConvolutionDescriptor_t,
int, int, int, int, int, int, cudnnConvolutionMode_t, cudnnDataType_t)’
这就是由于 CUDNN 的版本不兼容导致的。这时只需要将 CUDNN 相关的一些文件换成新版 caffe 中的文件就可以解决这个问题了。具体来说就是将下面这些文件进行替换即可。
cp /latest caffe/src/caffe/layers/cudnn_* /your older version caffe/src/caffe/layers/
cp /latest caffe/include/caffe/layers/cudnn_* /your older version caffe/include/caffe/layers/
cp /latest caffe/include/caffe/util/cudnn.hpp /your older version caffe/include/caffe/util/