caffe_ocr开源项目学习笔记

本机配置cuda8.0使用的cudnn是下面要说的重点,vs2015,win10,1080Ti

下载了开源项目:https://github.com/senlinuc/caffe_ocr

编译的时候报错:caffe_ocr-master/src/caffe/layers/DenseBlock_layer.cu(283): error : too many arguments in function call

调用的地方:

 CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*convBC_Descriptor, 0, 0, 1, 1, 1, 1, CUDNN_CONVOLUTION, cudnn::dataType<Dtype>::type)); 

函数定义:

1 cudnnStatus_t CUDNNWINAPI cudnnSetConvolution2dDescriptor(
2                                 cudnnConvolutionDescriptor_t        convDesc,
3                                 int                                 pad_h,    // zero-padding height
4                                 int                                 pad_w,    // zero-padding width
5                                 int                                 u,        // vertical filter stride
6                                 int                                 v,        // horizontal filter stride
7                                 int                                 upscalex, // upscale the input in x-direction
8                                 int                                 upscaley, // upscale the input in y-direction
9                                 cudnnConvolutionMode_t              mode );

上面这个函数是在cudnn.h中定义的,而cudnn不是和cuda一起安装的,所以问题就是cudnn版本不对,cuda8.0支持的cudnn版本不止一个。

cudnn-v5.就是不匹配的那个,换成cudnn-v7就没有问题了。

 关于调试,用ocr_test调试:

修改下面代码(我把下载的模型放到了E盘,这个路径看自己的模型路径在那里来设置):

 

 

 

posted @ 2019-11-30 10:16  巨鹿王十二  阅读(820)  评论(0编辑  收藏  举报