Mac10.13安装Caffe(众多坑解决版)

写在前面的话

安装caffe依赖的时候我的mac版本10.10,安装opencv遇到问题如下:

Error: You are using macOS 10.10.

We(and Apple)do not provide support for this old version.

You may encounter build failures or other breakages.

Please create pull-requests instead of filing issues.

于是升级了mac10.13,这个版本果然有点坑。升级之后,brew和vim均出现问题,按照提示安装了command line tools并重装了vim。(更新后没问题可忽视这个问题)

mac无显卡驱动,并不支持GPU+CUDA,因此只安装CPU_ONLY的caffe。之后会更新在linux上安装caffe,如果安装没什么难度,也可能不更…

保证安装过程中网络畅通,注意安装时的信息,因为可能出现error或warning,大多是某个依赖安装失败或提示手动配置环境变量等信息。

准备

保证mac已安装Homebrew(本教程用Homebrew安装相关依赖)和~python2.7.10(不要使用mac自带python2.7.10版本,会遇到问题见文末)。

brew search python  #查看本机用brew安装的python主版本

我的mac上有三个python版本

《Mac10.13安装Caffe(众多坑解决版)》

同时pip也对应三个,可以用如下命令查看pip的位置,不贴图了

pipn –version

安装Cmake

官网dmg文件双击安装 cmake.org/download/

安装依赖

我使用官网caffe.berkeleyvision.org/install_osx.html 安装命令,和网上其他安装命令几乎没有差别,我一起贴上

brew install -vd snappy leveldb gflags glog szip lmdb

# need the homebrew science source for OpenCV and hdf5

brew tap homebrew/science

brew install hdf5 opencv

网上的安装命令,先删除相应的依赖再安装

for x in snappy leveldb gflags glog szip hdf5 lmdb homebrew/science/opencv;

do

brew uninstall $x;

brew install –fresh -vd $x;

done

brew uninstall –force protobuf; brew install –with-python –fresh -vd protobuf

brew uninstall boost boost-python; brew install –fresh -vd boost boost-python

安装Caffe

下载Caffe源码

git clone https://github.com/BVLC/caffe.git

cd caffe

cp Makefile.config.example Makefile.config   #根据example生成有效的配置文件

安装Caffe并修改配置文件

在上一步下载好的caffe文件夹下执行

mkdir build

cd build

cmake ..  #cmake时注意安装的python的Interpreter和Libraries中是用的python版本是否是一个版本,不是也木有关系看文末…

修改CMakeCache.txt文件如下

CPU_ONLY:BOOL= ON

修改CaffeConfig.cmake文件如下

set(CPU_ONLY, ON)

编译

make all

make runtest

make pytest

执行前两句一般不会有什么问题,执行到第三个会报ImportError: No module named *的问题,缺少相关python依赖,使用如下命令安装

pip2 install 依赖名   #根据系统上python版本对应的pip版本,根据我的系统的版本以下全部用pip2表示

注,如果缺少pydot依赖,则先安装graphviz,再安装pydot依赖,否则会报Exception: “dot” not found in path.(不信可以试试…)如果缺少skimage.io,pip2 install scikit-image

brew install graphviz  

pip2 install pydot

然后再执行

make pytest

《Mac10.13安装Caffe(众多坑解决版)》

将caffe/python加入.bashrc配置文件,否则在python下import caffe会失败

export PYTHONPATH=/caffe/python:$PYTHONPATH  #该路径为系统中caffe/python的路径

OK!Happy Caffe!!

问题

起初我用mac自带python2.7.10安装caffe,遇到问题如下(必须贴出关键语句,百度、google好难查到这个问题!!)

Scanning dependencies of target pytest

/bin/sh: line 1: 17016 Segmentation fault: 11python2 -m unittest discover -s caffe/test

Segmentation fault: 11这个问题主要原因是cmake时lib库使用的是MAC自带的Python库而Interpreter是自己安装的Python。

解决方案参考

blog.sina.com.cn/s/blog_8d2b2be40102xd19.html 

blog.csdn.net/xhhxllpp/article/details/73369062

这两篇博讲的解决思路是一样的,我在网上看到的解决方法都是这样的。

Happy Caffe again!!

    原文作者:MechelleWang
    原文地址: https://www.jianshu.com/p/0e5c4944f50c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞