系統版本: os x 10.11.2
處理器:2.2ghz i7
記憶體: 16gb
由於caffe安裝過程需要依賴多個包,因此最好提前安裝好包管理工具。在mac上推薦使用homebrew,如果是mac新手可參考高效 macbook 工作環境配置 的開發環境配置部分。
ruby -e
"$(curl -fssl "
注: 在安裝caffe前還需要提前安裝好python(2.7以上版本,本人的是2.7.10)和xcode。
為了以後使用python介面方便,推薦安裝anaconda python
bash anaconda2-
4.0.0
-macosx
-x86_64
.sh
安裝完成後會自動將anaconda python的路徑加入到系統的$path中
由於我的mac上沒有nvidia的gpu,所以在安裝caffe時跳過了cuda的安裝步驟,只需要在最後編譯時將makefile.config中cpu_only := 1前的『#』去掉即可。
# need the homebrew science source for opencv and hdf5
brew tap homebrew/science
#對於anaconda python在安裝opencv時需要做如下修改
brew edit opencv
_________
# 將如下兩行
args << "-dpython_library=#/libpython2.7.#"
args << "-dpython_include_dir=#/include/python2.7"
# 修改為:
args << "-dpython_library=#/lib/libpython2.7.dylib"
args << "-dpython_include_dir=#/include/python2.7"
________
# 接著執行如下命令
brew install opencv
brew install openblas
#切換到$caffe_root/python路徑下執行如下命令:
for req in
$(cat requirements.txt); do pip install $req; done
切換到caffe-master主目錄下面,將makefile.config.example 複製為makefile.config,並做以下修改:
(1)將第8行的 『# cpu_only := 1』 改為 『cpu_only := 1』
(2)將第46行的 『blas := atlas』 改為 『blas := open』
(3)將下圖中對應行前面的『#』 去掉
切換到caffe的主目錄下,如下圖所示:
如果要呼叫caffe的python介面,需要將$caffe_root/python路徑加入到pythonpath中:
export pythonpath=/your/path
/to/caffe-master/python:
$pythonpath
安裝成功!
在caffe安裝成功後,可以拿mnist資料測試一把,看看能否跑通。
首先切換到caffe主目錄$caffe_root下
cd
$caffe_root
sh ./data/mnist/get_mnist.sh
sh ./examples/mnist/create_mnist.sh
由於我們沒有gpu,因此需要將./examples/mnist/lenet_solver.prototxt中的solver_mode設為cpu
solver_mode: cpu
最後,在$caffe_root路徑下執行如下命令即可開始訓練
sh ./examples/mnist/train_lenet.sh
訓練過程中的相關引數可在./examples/mnist下的lenet_solver.prototxt和lenet_train_test.prototxt檔案中進行修改。
(1)undefined reference to xx
.build_release/lib/libcaffe.so: undefined reference to `boost::thread::start_thread_noexcept()'
.build_release/lib/libcaffe.so: undefined reference to `boost::thread::join_noexcept()'
convert_imageset.cpp:(.text+0x18a): undefined reference to `google::flagregisterer::flagregisterer(char
const*, char
const*, char
const*, int*, int*)'
convert_imageset.cpp:(.text+0x1b9): undefined reference to `google::flagregisterer::flagregisterer(char
const*, char
const*, char
const*, int*, int*)'
這裡報錯是因為make的時候沒有找到boost和gflags對應的include和lib, 需要修改makefile.config中include_dirs和library_dirs的值,加上你自己需要的boost及gflags對應的include和lib路徑。
如果自己機器上的gflags或boost版本比較老,則可參考caffe官網給的安裝方法:
# gflags
wget
unzip master.zip
cd gflags-master
mkdir build && cd build
export cxxflags="-fpic" && cmake .. && make verbose=1
make && make install
(2)import caffe 遇到 xx segmentation fault python
這個是你的系統裡有多個版本的python,並且編譯和執行的時候不是乙個版本(通常是boost-python鏈結的python是系統自帶python而不是anaconda)。這個時候可以在編譯的時候強制他們都用同乙個python。(該問題的解決方法參考)
首先檢視_caffe.so有沒有鏈結到你的anaconda python
otool -l python/caffe/_caffe.so
如果沒有鏈結,採用下面的命名強制鏈結
install_name_tool -change "libpython2.7.dylib"
"$home/anaconda2/lib/libpython2.7.dylib" python/caffe/_caffe.so
完美解決segmentation fault的問題
參考網頁
Caffe 安裝配置 CentOS 無GPU
ref 環境 centos 6.4 由於我的centos伺服器上沒有nvidia的顯示卡,不過 caffe 是可以在cpu模式下進行train和predict的,因此我嘗試了在沒有gpu的情況下把caffe跑起來。主要參考官網的文件,installation。安裝 caffe 前需要安裝以下庫 su...
mac下搭建caffe環境
第一步 安裝homebrew。它是mac下的一種包管理工具,用於快速安裝各種包,類似於linux下的yum和python下的pip。ruby e curl fssl 第二步 利用homebrew安裝caffe的各項依賴包 brew install vd leveldb brew install vd...
小白MAC下安裝Caffe 2019最新血淚史
歷史2天半,度娘了幾十次,有乙個語法問題諮詢了同事,最終完成mac上caffe安裝,一路走下來,學習了cmake,make相關命令,學習了brew相關命令,網上有不少caffe安裝教程,不過我報的錯跟他們幾乎沒有一樣的,不過很多帖子給了我參考意義,為了回饋網際網路給我們帶來的技術福利,我也把我安裝遇...