您的位置:首页 > Web前端

双系统Ubuntu16.04的Caffe环境配置+opencv3.2.0安装

2017-06-13 14:16 761 查看

一 安装双系统(win8.1+Ubuntu16.04)

主要参考:http://m.blog.csdn.net/article/details?id=50542351特别注意:1. Step7时,也许会出现剩余的 free space 显示“不可用”的情况。解决办法:给Ubuntu分区的时候,先分配逻辑分区,最后分配主分区。2. swap选择的位置是在3. 下面提供分区大小的参考:
 建议大小格式描述
/10G-20Gext4根目录
swap<2048Mswap交换空间
/boot200M左右ext4Linux的内核及引导系统程序所需要的文件,比如 vmlinuz initrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;启动撞在文件存放位置,如kernels,initrd,grub。
/tmp5G左右ext4系统的临时文件,一般系统重启不会被保存。(建立服务器需要?)
/home尽量大些ext4用户工作目录;个人配置文件,如个人环境变量等;所有账号分配一个工作目录。

二 配置Caffe环境

主要参考:http://blog.csdn.net/hjl240/article/details/51460884  和  http://blog.csdn.net/lovelyaiq/article/details/70231788 可以直接参考上面两个链接配置Caffe环境,一直到[编译Caffe]都会很顺利,直到开始make pycaffe就会出现很多很多很多的坑!为了使用caffe,不管出现多少坑我们都是需要填上的(悲壮...)。我建议先确保opencv成功安装后再配置Caffe环境,怎么确保呢?先看一下usr/local/下有没有opencv相关的文件夹吧~

1. opencv相关错误

examples/cpp_classification/classification.cpp:3:33: fatal error: opencv2/core/core.hpp: 没有那个文件或目录
我分析是opencv没有安装好,这个问题困扰了我好几天,安装opencv3.2.0的时间耗费很长,做好心里准备,我安装了至少三次,快哭了。解决办法:此时先中断 /dir/caffe/ 下的 make pycaffe ,make all,make test 等相关操作,退出 /dir/caffe/ (dir为caffe相关路径)。

 #1.安装opencv3.2.0

用下面的命令检查一下当前opencv的版本,我的是2.4.9.1
pkg-config --modversion opencv
疑惑,这样是不是就说明,明明已经安装好了opencv?接下来检查一下 /usr/local/ 下确实没有跟opencv有关的目录,也就导致在make pycaffe或make all的时候找不到 opencv2/core/core.hpp因此需要安装opencv,我选择安装的是opencv-3.2.0(参考某个教程的时候下载的,具体链接找不到了,大家自行baidu吧),安装过程主要参考以下教程: http://blog.csdn.net/lien0906/article/details/44774705 其中,第3步,原博主“勾选了WITH_QT 去掉了WITH_TIFF。”,我的系统里没有安装QT,因此句话不需要追随原博主。如果跟着原博主执行了这个操作,会报错。第4步,原博的“分别执行make和make install” 最好改成 分别执行 sudo make 和 sudo make install其余步骤均按照原博执行,应该就可以顺利安装成功。再次查看 /usr/local/ 中是否生成了和 opencv3.2.0有关的文件夹。 /usr/local/opencv...非常重要,这一步一定要完成。

#2. opencv版本切换

此时再次检查opencv版本:
pkg-config --modversion opencv
可能仍然显示的是旧版本的opencv,因为系统中允许同时存在多种版本的opencv。接下来进行opencv版本的切换,主要参考:http://blog.csdn.net/lql0716/article/details/54565579再次检查opencv的版本,此时应该已经变成了3.2.0成功安装opencv3.2.0后,再次尝试编译caffe环境:目录切换到caffe文件夹下,执行以下操作:
make pycaffe
make all
make test
若顺利完成,则caffe安装成功。

#3.解决opencv高低版本冲突

若出现如下错误:
/usr/local/opencv3/lib/libopencv_core.so.3.2: error adding symbols: DSO missing from command line
说明opencv版本冲突,采取以下操作。执行:
sudo apt-get autoremove libopencv-dev
再次尝试编译caffe环境:目录切换到caffe文件夹下,执行以下操作:
更新:先不执行这个make,原因在后面:make pycaffe
make all
make test
若顺利完成,则caffe安装成功。更新:经过上述步骤之后,三个make都没有再报错,并且在caffe/python目录的python环境下,确实可以import caffe,但是,一旦退出caffe/python目录,import caffe就会报错。应该是通过上述步骤,仍然没有确保caffe成功安装,继续搜索解决方案,也很快就解决了。在上述步骤的基础下,我执行了sudo make runtest然而并没有成功。报错如下:.build_release/tools/caffe: error while loading shared libraries: libopencv_core.so.3.2: cannot open shared object file: No such file or directory Makefile:534: recipe for target 'runtest' failed解决方法:参考http://blog.csdn.net/u013059662/article/details/51854072 的 “2015.3.25更新”内容:首先我发现我的 /usr/local/opencv3/lib里确实没有libopencv_core.so.3.2,因此,先在Ubuntu中搜索libopencv_core.so.3.2,发现在其他文件里有,将其复制到/usr/local/opencv3/lib
$ sudo cp ~/caffe_install/opencv-3.2.0/pc/lib/libopencv_core.so.3.2  /usr/local/opencv3/lib
然后,用下述命令先删除软连接
$ cd
/usr/local/opencv3/lib
$ sudo rm -rf libopencv_core.so libopencv_core.so.3.2
然后修改文件权限,并创建新的软连接
$ sudo chmod u=rwx,g=rx,o=rx libopencv_core.so.3.2$ sudo ln -s libopencv_core.so.3.2 libopencv_core.so
解决这个问题后,进入caffe目录,make clean 然后重新编译了一次caffe,按照http://www.linuxdiyf.com/linux/26229.html 并注意修改make的顺序,先sudo make all,sudo make test,sudo make runtest, 当全部make都pass以后,继续从“五编译python接口”执行。在此次安装的过程中,仍然遇到了两个新问题:#1 ImportError: No module named cv2解决办法安装python-opencvsudo apt-get install python-opencv  sudo apt-get install python-numpy#2 No module named _tkinter, please install the python-tk package这是由于Python的版本没有包含tkinter的模块,只需要把tk的package安装就可以了。 一般在Linux才出现,windows版本一般已经包含了tkinter模块。apt-get install python-tk到此为止,我此次配置caffe环境遇到的问题就算是解决完了,测试过caffe环境配置成功的一刻,简直泪流满面。这是我第一次尝试安装双系统并独立使用Ubuntu系统,并配置Caffe,收获很多,但是也仍然很迷茫,后续还需要很多的努力,加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Ubuntu Caffe Opencv