我已经把cudnn和cuda安装在ubuntu里了,我
使所有的-j4
在caffe目录下,它通过得很好。但当我
做试验
它显示:
CXX src/caffe/test/test_im2col_layer.cpp
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from src/caffe/test/test_im2col_layer.cpp:5:
./include/caffe/util/cudnn.hpp: In function ‘void caffe::cudnn::createPoolingDesc(cudnnPoolingStruct**, caffe::PoolingParameter_PoolMethod, cudnnPoolingMode_t*, int, int, int, int, int, int)’:
./include/caffe/util/cudnn.hpp:127:41: error: too few arguments to function ‘cudnnStatus_t cudnnSetPooling2dDescriptor(cudnnPoolingDescriptor_t, cudnnPoolingMode_t, cudnnNanPropagation_t, int, int, int, int, int, int)’
pad_h, pad_w, stride_h, stride_w));
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition; \
^
In file included from ./include/caffe/util/cudnn.hpp:5:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from src/caffe/test/test_im2col_layer.cpp:5:
/usr/local/cuda/include/cudnn.h:799:27: note: declared here
cudnnStatus_t CUDNNWINAPI cudnnSetPooling2dDescriptor(
^
Makefile:572: recipe for target '.build_release/src/caffe/test/test_im2col_layer.o' failed
make: *** [.build_release/src/caffe/test/test_im2col_layer.o] Error 1我安装了最新版本的cudnn(用于linux的cudnn v5库)和cuda(cuda7.5)。有人能告诉我怎么解决这个问题吗?非常感谢!
发布于 2016-04-19 15:41:06
CuDNN v5与caffe不兼容。您可以尝试创建一个分叉并将其合并为:https://github.com/BVLC/caffe/pull/3919/files,但它不受官方支持。
发布于 2016-11-08 07:40:03
请注意,最新的Caffe (2016年11月8日)指出,它支持数据自动化系统7+。
不过,我仍然需要解决这个问题,因为我使用了连接到更快的回购的一个旧的caffe分支。我正在升级它以支持CUDNN 5和CUDA 8。请注意,我不是Caffe专家,但是所有的测试都在我成功编译之后成功运行。
对于签名似乎已经更改的方法,我发现也存在_v3和_v4等效项(对我来说,我查看了/usr/local/cuda/include/cudnn.h)。我改变了失败的方法
出发地: CUDNN_CHECK(cudnnSetPooling2dDescriptor(*pool_desc,*模式,h,w,
致: CUDNN_CHECK(cudnnSetPooling2dDescriptor_v3(*pool_desc,*模式,h,w,4.src/caffe/层/cudnn_conv_layer.cu
我需要在以下文件中做类似的事情:
希望这对你也有帮助!
发布于 2016-11-08 10:16:17
试试make clean -> make all -> make test -> make runtest。如果有权限错误,请使用sudo。
https://stackoverflow.com/questions/36637923
复制相似问题