Caffe深度学习框架是比较老的,安装Caffe最大的坑就是它和不少新版本的依赖兼容相性差,因此你们在装的时候尽可能从安装较老版本的依赖,我在下面会给你们一些推荐。html
本地环境python
系统:macOS Mojave 10.14.6 64bit
目标:CPU only Caffelinux
安装homebrew和anacondac++
根据官网的建议,咱们须要用homebrew来安装管理软件和包,使用anaconda来管理Python。git
在terminal中依次输入下述命令便可安装homebrew:github
xcode-select --install //若是已经事先安装Xcode命令行工具,可忽略这一命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
能够经过brew命令了解是否安装成功。vim
接下来安装anaconda:xcode
直接去官网下载安装包,建议使用anaconda3,而后经过如下命令来建立修改Python版本环境ruby
//格式:conda create --name env_name package_names
conda create --name py27 python=2.7
而后用如下命令在base环境和你建立的环境中切换bash
source activate py27 //进入名为py27的环境 env_name=py27
conda deactivate //退出当前环境,回到默认环境
须要注意的是不一样环境直接的某些包和依赖不能共用,要个安装各的。
开始安装各种依赖
Openblas和我也没去了解的东西(这些东西不太考虑版本,因此先安装好):
brew install -vd snappy leveldb gflags glog szip lmdb doxygen
brew install openblas
brew install hdf5
而后是OpenCV和boost-Python,别忘了和brew关联在一块儿:
brew install boost@1.59 boost-python@1.59
brew link boost@1.59 --force
brew link boost-python@1.59 --force
brew install opencv@3
brew link opencv@3 --force
若是没有上述命令出现问题,多是你link了其余版本到brew上,你能够用unlink和brew解除并从新关联,或者直接卸载其余版本,我是强烈建议卸载其余版本的,这样能够避免不少问题,你能够经过brew info 命令或brew search命令查看本身安装的东西的版本。
接下来是protobuf,因为brew没有提供合适的版本,咱们直接下载3.5.1版本原码编译,注意请你先把其余版本的protobuf卸载,这样能够减小一些麻烦。先cd到合适的文件夹。
brew install wget //如有可忽略
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.5.1/protobuf-all-3.5.1.tar.gz //获取源代码
tar xzvf protobuf-all-3.5.1.tar.gz //解压
cd protobuf-3.5.1 //cd进去
./autogen.sh
./configure //有些教程没有这一步,我加了之后才能够找到Makefile
make //有makefile才能够用
make check
sudo make install
安装完成后,输入protoc --version能够看到相应版本号。
重头戏caffe
获取caffe代码,cd到合适文件夹
git clone https://github.com/BVLC/caffe.git
开始编译
cd caffe
mkdir build
cd build/
cmake .. //通常这一步会有一大堆问题出现,不要想着用make命令,由于make已经不支持C++11了,除非你能改出问题的头文件代码
我在cmake过程当中出现的问题我都放在后面了,能够本身去看。若是成功,能够看到:
– Configuring done
– Generating done
– Build files have been written to: /Users/admin/caffe/build
上述表格中Python的interpreter、libraries、numpy的位置应该保持一致,“ /Users/admin/anaconda2/envs/py27”说明都是py27所指的python。
修改配置文件
CMakeCache.txt
set(Caffe_CPU_ONLY OFF) 替换成 set(Caffe_CPU_ONLY ON)
CaffeConfig.cmake
CMAKE_CXX_FLAGS:STRING= 替换成 CMAKE_CXX_FLAGS:STRING=-std=c++11
CPU_ONLY:BOOL=OFF 替换成 CPU_ONLY:BOOL=ON
USE_LEVELDB:BOOL=ON //若是leveldb报错,能够试着改为OFF
修改完成后,继续编译caffe
make all
下面是成功标志:
[100%] Linking CXX shared library …/lib/_caffe.dylib
Creating symlink /Users/admin/caffe/python/caffe/_caffe.so -> /Users/admin/caffe/build/lib/_caffe.so
[100%] Built target pycaffe
继续,通常这两步不会出现问题:
make install
make runtest
make pycaffe
最后改验证caffe是否安装成功了:
source activate py27
python -c "import caffe" //这一步很容易出问题,通常是模块缺失,我在下面列举了一下,百度通常也能解决。
若是提示 ImportError: No module named caffe,那还须要进一步将caffe中的python导入到解释器中,将环境变量放到配置文件里便可。
vim ~/.bash_profile
//在文件中加入配置信息 export PYTHONPATH=~/caffe/python:$PYTHONPATH
//关闭文件,输入下述命令,让环境变量生效 ,或者重启
source ~/.bash_profile
再次输入python -c "import caffe"若没出现任何错误提示,说明成功了,恭喜你!
使用anaconda的jupyter
打开anaconda-navigater,找到你以前配置的环境名字py27。
而后安装jupyter,以后就能够从这里进入了
或者你能够在py27环境里用sudo pip install jupyter-notebook安装,使用jupyter notebook命令进入
进去以后新建个Python文件,用import caffe试试,若不报错,恭喜,万里长征第一步结束了!繁重的caffe学习开始了!
一些错误汇总
error1:你可能会找不到vecLib.framewor,我帮你找好了
//vecLib include directory
vecLib_INCLUDE_DIR:PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers
errer2:
The dependency target "pycaffe" of target "pytest" does not exist !
网上各类病因千奇百怪,解决方法也不少,个人缘由是boost安装了两个版本,删除一个就行了。
error3:
ImportError: No module named skimage.io
找不到模块,安装喽
sudo pip install 'networkx==2.2' //注意此时我用的Python2.7,若是你版本不同或许能够跳过这一步
sudo pip install -U scikit-image
error4:
ImportError: No module named google.protobuf.internal
解决方法
sudo pip install google
sudo pip install protobuf
其余注意事项:
使用Cmake命令注意实在build文件夹下,Make命令是在build上级目录。若使用Cmake,最后一步须要make all,也是在build下。(由于有两个makefile文件,因此提醒一下)
本文参考了如下文章:
Mac安装CPU-only Caffe :https://blog.csdn.net/qq_38712865/article/details/89267439
深度学习框架Caffe在Mac上的安装和测试 :https://www.linuxidc.com/Linux/2016-06/132548.htm
caffe官网 :http://caffe.berkeleyvision.org/install_osx.html
本文也在csdn进行了发布,是同一做者:https://blog.csdn.net/JonahMoon/article/details/102105875