Caffe 工程的一些编译错误以及解决方案
来源:互联网 发布:logo设计自动生成软件 编辑:程序博客网 时间:2024/06/18 13:38
CAFFE深度学习交流群:532629018
整理一下最近遇到caffe工程的一些编译错误以及解决方法。
1 cuDNN
cuDNN当前最新版本是v5,近两三年的一些caffe工程,使用的版本不尽相同,其中以v2/v3版本的最为常见,所以使用的时候一定要搞清楚(当然如果作者没说,那就自己依次尝试吧)。
cuDNN出现版本不匹配,在工程make
的时候,会报如下错误(以安装v4版本,编译v3版本的程序为例):
...NVCC src/caffe/layers/deconv_layer.cuNVCC src/caffe/layers/cudnn_conv_layer.cusrc/caffe/layers/cudnn_conv_layer.cu(81): error: argument of type "cudnnAddMode_t" is incompatible with parameter of type "const void *" detected during instantiation of "void caffe::CuDNNConvolutionLayer<Dtype>::Forward_gpu(const std::vector<caffe::Blob<Dtype> *, std::allocator<caffe::Blob<Dtype> *>> &, const std::vector<caffe::Blob<Dtype> *, std::allocator<caffe::Blob<Dtype> *>> &) [with Dtype=float]" (157): here...20 errors detected in the compilation of "/tmp/tmpxft_00002703_00000000-16_cudnn_conv_layer.compute_50.cpp1.ii".make: *** [.build_release/cuda/src/caffe/layers/cudnn_conv_layer.o] Error 1make: *** Waiting for unfinished jobs....
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
解决方案是这样的,下载v3版本,解压后,在终端进入所在文件夹下(这里仍然以v3版本为例):
$ cd lib64/$ sudo cp lib* /usr/local/cuda/lib64/$ cd ../include/$ sudo cp cudnn.h /usr/local/cuda/include/$ cd /usr/local/cuda/lib64/$ sudo rm -r libcudnn.so libcudnn.so.7.0$ sudo ln -sf libcudnn.so.7.0.64 libcudnn.so.7.0$ sudo ln -sf libcudnn.so.7.0 libcudnn.so$ sudo ldconfig
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2 OpenCV
我使用的版本是3.1.0
,在编译工程的时候,遇到如下BUG:
...CXX/LD -o .build_release/tools/convert_imageset.bin .build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)’ .build_release/lib/libcaffe.so: undefined reference tocv::imencode(cv::String const&, cv::_InputArray const&, std::vector >&, std::vector > const&)’ .build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)’ collect2: error: ld returned 1 exit status make: * [.build_release/tools/convert_imageset.bin] Error 1...
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
首先,我是已经配置过了OpenCV的,可以这样查询安装版本:
$ pkg-config --modversion opencv
- 1
- 1
因为编译好了,理所当然,输出结果是3.1.0
所以出现上面的错误,应该是opencv_imgcodecs
链接的问题,比较有效的解决方案是,把opencv需要的lib添加到Makefile
文件中,找到LIBRARIES
(在PYTHON_LIBRARIES := boost_python python2.7
前一行)并修改为:
LIBRARIES += glog gflags protobuf leveldb snappy \ lmdb boost_system hdf5_hl hdf5 m \ opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
- 1
- 2
- 3
- 1
- 2
- 3
3 make
每次需要重新编译的过程中,首先需要清除掉以往编译的结果:
$ make clean
- 1
- 1
然后再重新编译:
$ make all -j12$ make distribute$ make pycaffe$ make matcaffe
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-j12
的含义是run 12 jobs in parallel
,看自己机器的性能,自己设置,可以更快编译。
0 0
- Caffe 工程的一些编译错误以及解决方案
- Caffe 工程的一些编译错误以及解决方案
- Caffe 工程的一些编译错误以及解决方案
- Caffe 工程的一些编译错误以及解决方案(undefined reference to cv::imread)
- caffe安装过程中碰到的一些问题以及解决方案
- caffe编译出现的一些错误及解决方法(仅供参考)
- Cython的安装以及编译错误的解决方案
- R语言学习遇到的一些错误以及解决方案
- ubuntu编译android源码会出的错误以及解决方案
- Ubuntu上编译Caffe和拓展应用(faster-rcnn, pvanet)的错误及解决方案
- Windows下编译caffe,建立caffe的vs工程
- 关于CppUnit单元测试的一些编译错误以及改正
- tensorflow 源码编译安装以及遇到的一些错误
- 编译glibc(gcc)以及过程中遇到的一些错误
- VS一些设置及编译时候的一些问题以及解决方案
- caffe编译成功之后的一些步骤
- 编译caffe / PSPnet遇到的一些坑
- caffe中编译python一些错误及其解决方法
- MySql游标遍历的记录数不完整
- Linux-Putty-SSH
- !!!!!!!!!!!!!!!!!
- [003-Makefile-笔记] Makefile的规则
- Linux查看CPU和内存使用情况
- Caffe 工程的一些编译错误以及解决方案
- Metasploit - ERROR: cannot discover where libxml2 is located on your system
- oracle常用语句
- git常用命令(1)(持续更新)
- DS的苦恼 数组 排序
- ubuntu server解决不能访问外网问题
- Weblogic相关
- Oracle查询date类型字段
- 5.文件拷贝