Mac下Caffe安裝 無GPU

2021-07-12 01:57:04 字數 4188 閱讀 8210

系統版本: 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安裝教程,不過我報的錯跟他們幾乎沒有一樣的,不過很多帖子給了我參考意義,為了回饋網際網路給我們帶來的技術福利,我也把我安裝遇...