caffe编译遇到的问题(持续更新)
来源:互联网 发布:传奇npc算法 编辑:程序博客网 时间:2024/05/19 06:16
caffe编译遇到的问题(持续更新)
1:错误:
.build_release/tools/caffe: error while loading shared libraries: libhdf5.so.10: cannot open shared object file: No such file or directory
解决:
echo "export LD_LIBRARY_PATH=/home/abc/anaconda2/lib:$LD_LIBRARY_PATH" >>~/.bashrc
2.错误:
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用
collect2:错误:ld返回1
make:*** [.build_release/tools/extract_features.bin]错误1
解决:
这个可能是权限问题,采用以下指令:
sudo su;
make all ;
make test ;
make runtest ;
make pycaffe;
一切都能顺利解决
编译matlab是会遇到错误,由于matlab版本不同而支持的编译器版本不同,所以会出现问题。
Matlab2014a(2015a)的版本是支持版本4.7.x所以在使用matlab调用mex文件的时候,基本上都会报错,根据报错信息,考虑如下两步解决方案。
1.降级安装gcc/g++版本为4.7.x
(1).下载gcc/g++4.7.x
$ sudo apt-get install -y gcc-4.7
$ sudo apt-get install -y g++-4.7
(2).链接gcc/g++实现降级
$ cd /usr/bin
$ sudo rm gcc
$ sudo ln -s gcc-4.7 gcc
$ sudo rm g++
$ sudo ln -s g++-4.7 g++
3.验证版本
gcc -v
之后再进行编译
4.错误:
python/caffe/_caffe.cpp:1:52:致命错误:Python.h:没有那个文件或目录
编译中断。
make:*** [python/caffe/_caffe.so]错误1
解决:
执行:sudofind / -name 'Python.h'找到他的路径,
在Makefile.config的PYTHON_INCLUDE加上/home/abc/anaconda2/include/python2.7\(路径是自己的)
5.错误:import caffe时:ImportError:No module named skimage.io
解决办法:
可能是我们没有安装所谓的skimage.io模块,所以可以用以下的命令来安装:
easy_installscikit-image
pipinstall scikit-image
关掉终端,重新进入再编译
6.错误:importcaffe
Traceback(most recent call last):
File"<stdin>", line 1, in <module>
ImportError:No module named caffe
解决:
echo'export PATH="/home/abc/caffe-master/python:$PATH"' >>~/.bashrc
source~/.bashrc
关掉终端,重新进入再编译
7.错误:InvalidMEX-file'/home/abc/caffe-master/matlab/+caffe/private/caffe_.mexa64':libhdf5.so.10: cannot open
sharedobject file: No such file or directory
解决:
在linux下输入:
ldd /home/abc/caffe-master/matlab/+caffe/private/caffe_.mexa64
在matlab的命令窗口输入:
!ldd /home/abc/caffe-master/matlab/+caffe/private/caffe_.mexa64 /home/abc/caffe-master/matlab/+caffe/private/caffe_.mexa64
看看哪个文件没有找到依赖项。我的是
libhdf5.so.10
他
nofound
然后再看看在
linux
下他的默认链接是哪一个:
libhdf5.so.10=> /home/abc/anaconda2/lib/libhdf5.so.10
然后:
sudo cp /home/abc/anaconda2/lib/libhdf5.so.10 /usr/lib/x86_64-linux-gnu
再在matlab窗口下看他又没有找到,一般就可以了。
這個命令
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
的結果是:
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_DEBUG_MESSAGE_LENGTH
8.错误:
Checkfailed: error == cudaSuccess (2 vs. 0) out of memory
***Check failure stack trace: ***
@ 0x7fcd92132daa (unknown)
解决:
一次性读入的图片太多了,所以就超出了显存。因此需要将train.prototxt中的文件train和test的batch_size调小一点。
9.错误:
在生成lmdb时:
E0502 00:10:19.496055 5957 io.cpp:80] Could not open or find file /home/abc/caffe-master/data/mushroom/test1/2__09.png 0
解决方案:
1.检查数据图像存放的路径是否填写正确
2.在txt文件里面,图像路径与图像标签是否用空格” “分隔,“\t”分隔会出现此类错误(caffe版本更新,改变了分隔符号)
10.错误:
安装ubuntu14.04之后做的第一件事就是更新源,于是从网上找到来网易的源,结果更新后出现如下错误:W: 无法下载 http://mirrors.163.com/ubuntu/dists/trusty-security/main/binary-i386/Packages Hash 校验和不符
W: 无法下载 http://mirrors.163.com/ubuntu/dists/trusty-security/universe/binary-i386/Packages Hash 校验和不符。。。。。。。。。。。。。。。。。。。。。
解决:
更新软件源
11.升级gcc
首先添加ppa到库:
1 sudo add-apt-repository ppa:ubuntu-toolchain-r/test2 sudo apt-get update
如果提示未安装,还需要先安装它的包:
1 sudo apt-get install software-properties-common
sudo apt-getinstallgcc-4.9 g++-4.9
(非必须)现在可以考虑刷新一下,否则比如locate等命令,是找不到新版本文件所在目录的:
1 sudo updatedb && sudo ldconfig2 locate gcc
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 49 \ --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 \ --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.9 \--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.9 \ --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.9
更新链接不仅仅是为了使用新安装的gcc版本,更重要的是以后可以随时切换。不是要一股脑全复制粘贴进控制台运行。要注意反斜杠(\)前要有空格,因为它只提供换行的功能。
于是到这里升级gcc版本就已经完成了。
参考连接:http://www.linuxidc.com/Linux/2016-02/128327.htm
12。问题:
Makefile:588: recipe for target ‘.build_release/cuda/src/caffe/layers/embed_layer.o’ failed
make: * [.build_release/cuda/src/caffe/layers/embed_layer.o] Error 1
/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’:
/usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope
return (char *) memcpy (__dest, __src, __n) + __n;
这个问题疑似跟Ubuntu16.04的版本有关系,google到一个方法:在caffe的Makefile里面第409行(我的)
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
更改为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
13. ubuntu16.04配置MATLAB2016amatest问题:
在修改makefile里面的CXXFLAGS(大约410行),添加CXXFLAGS += -std=C++11后,直接 make matcaffe 。最后编译成功。
14.问题:
刚开始我是直接在终端输入:
然后再 make mattest 成功,但是关掉终端后再打开测试还是会有同样的错误,于是我就直接在系统文件里面加入路径。
首先终端输入:
保存 退出,重启电脑。make mattest成功了。
15.import caffe时错误提示
错误提示:ImportError: No module named skimage.io
解决方法:
直接使用终端安装:
pip install -U scikit-image
如果提示不识别 pip 命令,在Ubuntu14.04(64bit)下,使用下面命令安装pip包管理软件,也可以使用新立得软件包搜索“scikit-image”安装。
sudo python get-pip.py16MATLAB_DIR must be specified in Makefile.config to build matcaffe.make: *** [matlab/+caffe/private/caffe_.] 错误 1解决方法:打开caffe-master 文件夹下的Makefile.config文件,找到有MATLAB_DIR:所在行:# MATLAB_DIR := /usr/local/MATLAB/R2014a,将该行的注释去掉。完美解决!
17.问题
symbol lookup error: /home/caffe/anaconda/lib/libreadline.so.6: undefined symbol: PC – caffe安装错误解决办法:
先执行命令locate libreadline.so.6
然后会发现比如系统目录下:/lib/x86_64-Linux-gnu/libreadline.so.6
会有这个文件
然后cp /lib/x86_64-linux-gnu/libreadline.so.6 ~/anaconda/lib
完美解决!
18 问题:/home/abc/anaconda2/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/abc/caffe-1/.build_release/tools/../lib/libcaffe.so.1.0.0)。执行:$ strings /home/abc/anaconda3/bin/../lib/libstdc++.so.6 | grep GLIBCXX 会发现:GLIBCXX_3.4.。。。GLIBCXX_3.4.19GLIBCXX_FORCE_NEWGLIBCXX_DEBUG_MESSAGE_LENGTH没有3.4.20 解决办法
:$ conda install libgcc安装后:$ strings /home/abc/anaconda3/bin/../lib/libstdc++.so.6 | grep GLIBCXX 结果:GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBCXX_3.4.21解决!
19.问题:
在caffe的make run test时error while loading shared libraries: libcudnn.so.5: cannot open shared object file: No such file or
- caffe编译遇到的问题(持续更新)
- caffe实际运行中遇到的问题(持续更新)
- caffe训练中遇到的一些问题(持续更新......)
- Jenkins遇到的问题(持续更新)
- gradle编译遇到的坑,持续更新
- caffe相关问题(持续更新。。。。)
- Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题(持续更新)
- Android开发遇到的问题笔记(持续更新)
- 安卓开发遇到的一些问题(持续更新)
- Mozilla扩展开发过程遇到的问题(持续更新)
- hadoop2.0 遇到的问题 (持续更新)
- 使用KVM虚拟机遇到的问题(持续更新)
- Hadoop运维中遇到的问题(持续更新中......)
- 使用CentOS 遇到的问题以及解决方法(持续更新)
- 学习spring mvc 时遇到的问题(持续更新)
- 使用GIT期间遇到的问题(持续更新)
- fedora23 中遇到的一些问题 (持续更新)
- flaskweb遇到的问题总结(持续更新)
- sql之left join、right join、inner join的区别
- 谈谈jquery的实现
- Android启动白屏问题解决办法
- Java获取网络时间
- OpenGl面试题(持续更新)
- caffe编译遇到的问题(持续更新)
- Shaders to regulate image lightness like in PhotoShop(shader实现Photoshop的亮度调节效果,按钮变暗效果)
- A 房间安排
- Springboot 跑单元测试
- Flex布局
- 支持向量机--SVM入门
- webstrom less 配置
- spring HelloWorld!
- 关于使用hadoop出各种错的一些积累