一、安装Caffe依赖环境
1.安装cmake
安装http://www.cmake.org/ 我安装的是3.9
2.安装HomeBrew
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
3.安装opencv
https://www.opencv.org/ 我安装的3.4.0
mac上下载 3.4.0 的zip
>cd (opencv dir path)
>mkdir release
>cd release
>cmake -D WITH_IPP=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
>make
>sudo make install
3.安装其他依赖
brew install -vd snappy leveldb gflags glog szip lmdb
brew install hdf5
brew install protobuf boost
二、编译Caffe
>git clone https://github.com/BVLC/caffe
>cd (cafe path)
>cp Makefile.config.example Makefile.config //mac上只能使用cpu 所以要将 makefile 里面CPU_ONLY := 1 前面注释去掉 另外OPENCV_VERSION := 3 注释也要打开
>mkdir build
>cd build
>cmake ..
>make
>make runtest
出现下面
安装成功..通过了测试
二、caffe-ssd 编译
>git clone https://github.com/weiliu89/caffe.git
>git checkout ssd
关于mac 上编译与上述caffe 过程类似
make过程中如果出现 cbais.h 文件找不到的 安装一下 openblas
brew install --fresh -vd openblas
make过程中出现了 vecLib.framework not found的错误
在cmake/Modules/FindvecLib.cmake
Line 19, replace/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Headers/
by/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Headers/
10.13(这个是你本机版本)
改完以后 最好重新cmake一下
三、make pycaffe遇到的坑
1. veclib.framework 找不到
将 makefile 中 vecLib 引用的位置 全部替换成 openblas 的 INCLUDE 和 LIB 都替换 如下
BLAS_INCLUDE := /usr/local/Cellar/openblas/0.3.0/include
LDFLAGS +=/usr/local/Cellar/openblas/0.3.0/lib/libopenblas.a
2.No receipt for ‘com.apple.pkg.CLTools_Executables’ found at ‘/’.
终端输入xcode-select –install 安装完成即可
3.boost_python not found
找到mac上 boost_python的路径 执行如下命令
sudo ln -s libboost_python2.7.a libboost_python.a
4. Python.h 文件找不到
搜索电脑上的python.h文件位置路径,然后修改makefile里面
PYTHON_INCLUDE 以及PYTHON_LIB 的路径
5.Fatal Python error: PyThreadState_Get: no current thread
python 存在多个版本导致的 主要是brew 安装的Python 和 系统自带的Python 冲突了
建议将makefile中引用python的路径都设定到brew安装的python,或者保留一个python版本
https://www.e-learn.cn/content/wangluowenzhang/52106 可以参考下
6. File "caffe/io.py", line 2, in <module>
import skimage.io
sudo pip install scikit-image