本文共 1553 字,大约阅读时间需要 5 分钟。
在安装faster-rcnn事如果报这种错误
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 ./include/caffe/net.hpp:10, from ./include/caffe/solver.hpp:7, from ./include/caffe/sgd_solvers.hpp:7, from src/caffe/solvers/adam_solver.cpp:3:./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING’ not handled in switch [-Wswitch] switch (status) { ^./include/caffe/util/cudnn.hpp: In function ‘void caffe::cudnn::setConvolutionDesc(cudnnConvolutionStruct**, cudnnTensorDescriptor_t, cudnnFilterDescriptor_t, int, int, int, int)’:./include/caffe/util/cudnn.hpp:108:70: error: too few arguments to function ‘cudnnStatus_t cudnnSetConvolution2dDescriptor(cudnnConvolutionDescriptor_t, int, int, int, int, int, int, cudnnConvolutionMode_t, cudnnDataType_t)’ pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION)); ^
处理方案:
这种问题出现的原因是在rbg开源这套物体检查方案时是依据的当时最新的cundnn版本,而这么多年过去,cudnn已经发布了好几个版本,所以要处理这个问题,只需要将caffe框架下的所有cudnn相关的文件替换车成当前caffe最新的即可.
rbg的faster-rcnn模型代码地址:
cafe框架的代码地址:
进入faster-rcnn目录下caffe-fast-rcnn的src/caffe/util/cudnn.cpp 以及src/caffe/layers/cudnn中的所有文件,还有include/util/cudnn.hpp 和include/layers/cudnn.hpp中的文件全部替换成caffe中对应的文件。然后编译即可.
参考:
转载地址:http://rywmi.baihongyu.com/