1.
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from src/caffe/syncedmem.cpp:1:
./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; \
^
解决办法参考:http://blog.youkuaiyun.com/u011070171/article/details/52292680
1)将./include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp.
2)将./include/caffe/layers里的,所有以cudnn开头的文件,例如cudnn_conv_layer.hpp。 都替换成最新版的caffe里的相应的同名文件。
3)将./src/caffe/layer里的,所有以cudnn开头的文件,例如cudnn_lrn_layer.cu,cudnn_pooling_layer.cpp,cudnn_sigmoid_layer.cu 都替换成最新版的caffe里的相应的同名文件。
2.
ImportError: No module named yaml
解决办法:
sudo apt-get install python-yaml
3.
TypeError: 'numpy.float64' object cannot be interpreted as an index
解决办法:
sudo pip install -U numpy==1.11.0
4.
问题没有记录,貌似是不能import google.protobuf的text_format
解决办法:
打开py-faster-rcnn/lib/fast_rcnn/train.py
18行后加上from google.protobuf import text_format
51行改为text_format.Merge(f.read(), self.solver_param)