在make别人的caffe程序时,出现
/usr/local/cuda/include/cudnn.h:518:1: note: declared here
cudnnSetConvolution2dDescriptor(cudnnConvolutionDescriptor_t convDesc,
^
Makefile:605: recipe for target '.build_release/src/caffe/data_reader.o' failed
make: *** [.build_release/src/caffe/data_reader.o] Error 1
准备工作:
如果前面已经安装caffe环境,下面所述要替换的‘新的对应文件’,可以在安装编译好的caffe中寻找,如图: 第一个是我前面已经编译通过的caffe,第二个是需要编译的别人的caffe 项目,即第一个caffe中为新的文件, 连接:https://github.com/BVLC/caffe
还可以参考我安装caffe的完整历程 https://blog.youkuaiyun.com/zhuzizhong/article/details/84426982
解决方法:
1. 将caffe项目中./include/caffe/layers中以cudnn开头的 '.hpp' 文件全部替换为对应新的'.hpp'
2. 将./include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp.
3. 将caffe项目中./src/caffe/layers中以cudnn开头的 '.cpp'和'.cu' 文件全部替换为对应新的'.hpp'和'.cu'
4. 将./src/caffe/util/cudnn.cpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.cpp.
希望对大家有用,由于是自己实现,有些细节未考虑周全,如果您在此过程中出现其他问题,欢迎留言交流。
参考: https://blog.youkuaiyun.com/u011070171/article/details/52292680