作者zxvc (眾生都是未來佛)
看板Linux
標題[心得] CentOS 7 + Anaconda 3 + Caffe 1
時間Fri Jan 5 14:26:36 2018
終於在CentOS 7上硬裝Caffe 1 (含pycaffe)成功。
心得:建議一般人用Ubuntu或Docker裝Caffe就好,
不要在CentOS上裝,叔叔有練過。
我的環境是:
CentOS 7.4.1708 64-bit
CUDA 8.0
cuDNN 6.0
Intel MKL 2018 update 1
Anaconda 3 5.0.1 64-bit
Caffe 1.0.0 (git commit ID: 99466224dac86ddb86296b1e727794fb836bd80f)
成功安裝方式我大略說一下:
基本上就是git clone caffe後,照著網頁的編譯步驟執行:
make -j8
make test -j8
make runtest
make pycaffe
但不幸的這個過程應該會遇到很多"編譯失敗"或"runtest失敗"的問題,
解法如下:
1. CentOS 7的boost-python套件的libboost-python.so
似乎只能用於Python 2。
若想改用Anaconda 3的libboost 1.65.1又會在runtest時失敗, 訊息大致是:
(unix time) try "date -d @1515078034" if you are using GNU date
boost::filesystem::path::operator/=()
問題似乎是Anaconda 3的libboost 1.65.1與CentOS不合。
所以請用conda remove libboost,再自行下載boost 1.65.1編譯。
另外執行bootstrap.sh時要指定Anaconda 3 python的路徑。
2. 建議移除CentOS 7的protobuf套件,因為Anaconda 3也有protobuf套件,
又在編Caffe時Makefile.config會優先選Anaconda 3的include/lib版本。
若不移除,make可能在叫protoc時用的是CentOS的版本...
但還沒完,若make時出現錯誤;
undefined reference to `google::protobuf::...
應該是Anaconda 3的libprotobuf 3.4.1的問題,請用這指令檢查:
strings /cad/anaconda3/lib/libprotobuf.so|grep GCC
若出現"GCC: (crosstool-NG...",應該是該lib不知用什麼compiler編的問題。
試著用conda install protobuf=3.4.0降版,再用strings應該會看到:
GCC: (GNU) 4.4.7 20120313
再make試試。
3. libtiff似乎也有與第2點相似的問題,解法類似 - 降版。
4. 如第2點所提到的"Makefile.config會優先選Anaconda 3的include/lib"。
所以make前建議把Anaconda會用到的tools, lib都裝好,例如:
conda install protobuf hdf5 libtiff
以上是我記得的注意事項,不確定有沒有遺漏。
請務必make runtest確認安裝正確。
最後再開啟jupyter-notebook,打開examples/00-classification.ipynb測測看:)
--
楞嚴咒(附注音):
http://1drv.ms/1c0YbNt
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.73.148
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1515133600.A.D14.html
※ 編輯: zxvc (140.115.73.148), 01/05/2018 14:27:57
→ zxvc: 我弄清楚了crosstool-NG的問題了,它是Anaconda最近用的一套 01/05 17:35
→ zxvc: compiler,用於編譯Anaconda最近發佈的packages,與過去的 01/05 17:36
→ zxvc: GCC居然不相容!事實上Anaconda有放出該compiler,如 01/05 17:37
→ zxvc: gxx_linux-64這個套件。問題是並非所有Anaconda的packages都 01/05 17:38
→ zxvc: 已經被它重編過,例如leveldb(最新1.20)。 01/05 17:39
→ zxvc: 所以目前無法用gxx_linux-64編caffe。 01/05 17:40
→ zxvc: 可以說Anaconda因此自成一套獨立的package管理系統,開始與 01/05 17:43
→ zxvc: 一些GNU編譯的套件系統不相容了! 01/05 17:43
※ zxvc:轉錄至看板 Python 01/05 17:44
※ 編輯: zxvc (140.115.73.148), 01/05/2018 17:57:44
推 fatrabitree: centos真的越來越難用 快受不了 01/05 18:27
→ zxvc: 後來有人教我秒裝caffe法囧XD: 01/05 20:08
→ zxvc: conda install caffe-gpu 01/05 20:08
推 Adama: conda還可以裝Intel Python MKL都包好在裡頭了 01/05 22:16
推 rexsony: 有看有推 01/09 19:05