Ubuntu16.04中Caffe的安裝

1. 首先安裝一些依賴庫

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install -y libatlas-base-dev
$ sudo apt-get install -y --no-install-recommends libboost-all-dev
$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
$ sudo apt-get install -y python-pip python-dev python-numpy python-scipy
$ sudo apt-get install -y libopencv-dev

2.下載caffe.git 到download目錄

$ git clone https://github.com/BVLC/caffe.git
$ cd ~/download
$ cp -r ./caffe ~/

3.進入 caffe 中復制配置文件并重命名

$ cd ~/caffe
$ sudo cp Makefile.config.example Makefile.config

4.修改配置文件

$ sudo vim Makefile.config

根據(jù)個人需要進行修改

a.若使用 cudnn,則將#USE_CUDNN := 1
修改成:USE_CUDNN := 1
注意:GPU運算能力(GPU Compute Capability )3.0以上才支持CUDNN

b.若使用的 opencv 版本是 3 的,則將#OPENCV_VERSION := 3
修改為:OPENCV_VERSION := 3
c.若要使用 python 來編寫 layer,則將#WITH_PYTHON_LAYER := 1
修改為:WITH_PYTHON_LAYER := 1
d.重要的一項 :將# Whatever else you find you need goes here.下面的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改為:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
e.還要更改
USE_OPENCV: = 1
USE_LEVELDB: = 1
USE_LMDB: = 1

5. 修改 makefile 文件

打開 Makefile 文件,在 415 行,將:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替換為:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

6.修改 host_config.h 文件

sudo vim /usr/local/cuda/include/host_config.h

將其中的第 119 行注釋掉:

#error-- unsupported GNU version! gcc versions later than 5 are not supported!

改為:

//#error-- unsupported GNU version! gcc versions later than 5 are not supported!

7.執(zhí)行編譯和測試命令

在~/ caffe/目錄下

$ make all -j4
$ make test -j4
$ make runtest -j4

問題:
Makefile:532: recipe for target 'runtest' failed
make: *** [runtest] 已放棄 (core dumped)

這個問題就是买猖,電腦不支持cudnn,再前面的Makefile.config里面去掉CUDNN就可以了。

另外,
編譯過程中出現(xiàn)警告:
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
解決:修改Makefile.config文件

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
                -gencode arch=compute_20,code=sm_21 \
                -gencode arch=compute_30,code=sm_30 \
                -gencode arch=compute_35,code=sm_35 \
                -gencode arch=compute_50,code=sm_50 \
                -gencode arch=compute_52,code=sm_52 \
                -gencode arch=compute_60,code=sm_60 \
                -gencode arch=compute_61,code=sm_61 \
                -gencode arch=compute_61,code=compute_61

中的

 -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \

去掉即可串述。

重新clean再編譯一邊

$ make clean
$ make all -j4
$ make test -j4
$ make runtest -j4


[----------] 2 tests from BilinearFillerTest/1, where TypeParam = double
[ RUN      ] BilinearFillerTest/1.TestFillEven
[       OK ] BilinearFillerTest/1.TestFillEven (5 ms)
[ RUN      ] BilinearFillerTest/1.TestFillOdd
[       OK ] BilinearFillerTest/1.TestFillOdd (8 ms)
[----------] 2 tests from BilinearFillerTest/1 (13 ms total)

[----------] 1 test from SolverTest/1, where TypeParam = caffe::CPUDevice<double>
[ RUN      ] SolverTest/1.TestInitTrainTestNets
[       OK ] SolverTest/1.TestInitTrainTestNets (1 ms)
[----------] 1 test from SolverTest/1 (1 ms total)

[----------] Global test environment tear-down
[==========] 2063 tests from 271 test cases ran. (605597 ms total)
[  PASSED  ] 2063 tests.

如上面所示,說明編譯成功了怔锌。

8. 配置 pycaffe 接口

在 caffe 根目錄的 python 文件夾下,有一個 requirements.txt 的清單文件,上面列出了需要的依賴庫,按照這個清單安裝就可以了程剥。在安裝 scipy 庫的時候,需要先安裝 fortran 編譯器
(gfortran),如果沒有這個編譯器就會報錯,因此,我們可以先安裝一下。
a.首先回到 caffe 的根目錄,然后執(zhí)行安裝代碼:

$ sudo apt-get install gfortran
$cd ./python

b.在終端輸入下面一段即可

for req in $(cat requirements.txt); do pip install $req; done

錯誤:
IOError: [Errno 13] 權限不夠: '/home/fc/anaconda2/lib/python2.7/site-packages/leveldb.so'
換root用戶重新執(zhí)行上面的命令

c.安裝完成以后,再次回到 caffe 根目錄我們可以執(zhí)行:

$ cd ~/caffe
$ sudo pip install -r python/requirements.txt

問題:
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Io7ETq/ipython/
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

$ sudo python -m pip install --upgrade --force pip
$ sudo pip install setuptools==33.1.1

9.編譯 python 接口

$ sudo make pycaffe

10. 配置環(huán)境變量,以便 python 調(diào)用

$sudo vim ~/.bashrc

加入
export PYTHONPATH=/home/fc/caffe/python:$PYTHONPATH

$ source ~/.bashrc

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沐扳,一起剝皮案震驚了整個濱河市泥从,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沪摄,老刑警劉巖躯嫉,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異杨拐,居然都是意外死亡祈餐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門哄陶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帆阳,“玉大人,你說我怎么就攤上這事屋吨⊙寻” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵至扰,是天一觀的道長芭逝。 經(jīng)常有香客問我,道長渊胸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任台妆,我火速辦了婚禮翎猛,結果婚禮上,老公的妹妹穿的比我還像新娘接剩。我一直安慰自己切厘,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布懊缺。 她就那樣靜靜地躺著疫稿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鹃两。 梳的紋絲不亂的頭發(fā)上遗座,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音俊扳,去河邊找鬼途蒋。 笑死,一個胖子當著我的面吹牛馋记,可吹牛的內(nèi)容都是我干的号坡。 我是一名探鬼主播懊烤,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宽堆!你這毒婦竟也來了腌紧?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤畜隶,失蹤者是張志新(化名)和其女友劉穎壁肋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體代箭,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡墩划,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗡综。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乙帮。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖极景,靈堂內(nèi)的尸體忽然破棺而出察净,到底是詐尸還是另有隱情,我是刑警寧澤盼樟,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布氢卡,位于F島的核電站,受9級特大地震影響晨缴,放射性物質(zhì)發(fā)生泄漏译秦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一击碗、第九天 我趴在偏房一處隱蔽的房頂上張望筑悴。 院中可真熱鬧,春花似錦稍途、人聲如沸阁吝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽突勇。三九已至,卻和暖如春坷虑,著一層夾襖步出監(jiān)牢的瞬間甲馋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工猖吴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留摔刁,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像共屈,于是被迫代替她去往敵國和親绑谣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345