MacOS Mojave10.14.6 搭建Caffe

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

相關文章
相關標籤/搜索