作者zxvc (众生都是未来佛)
看板Python
标题Fw: [心得] CentOS 7 + Anaconda 3 + Caffe 1
时间Fri Jan 5 17:44:26 2018
※ [本文转录自 Linux 看板 #1QJngWqK ]
作者: 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://webptt.com/cn.aspx?n=bbs/Linux/M.1515133600.A.D14.html
※ 编辑: zxvc (140.115.73.148), 01/05/2018 14:27:57
1F:→ zxvc: 我弄清楚了crosstool-NG的问题了,它是Anaconda最近用的一套 01/05 17:35
2F:→ zxvc: compiler,用於编译Anaconda最近发布的packages,与过去的 01/05 17:36
3F:→ zxvc: GCC居然不相容!事实上Anaconda有放出该compiler,如 01/05 17:37
4F:→ zxvc: gxx_linux-64这个套件。问题是并非所有Anaconda的packages都 01/05 17:38
5F:→ zxvc: 已经被它重编过,例如leveldb(最新1.20)。 01/05 17:39
6F:→ zxvc: 所以目前无法用gxx_linux-64编caffe。 01/05 17:40
7F:→ zxvc: 可以说Anaconda因此自成一套独立的package管理系统,开始与 01/05 17:43
8F:→ zxvc: 一些GNU编译的套件系统不相容了! 01/05 17:43
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: zxvc (140.115.73.148), 01/05/2018 17:44:26
※ 编辑: zxvc (140.115.73.148), 01/05/2018 17:57:28
9F:→ zxvc: 後来有人教我秒装caffe法囧XD: 01/05 20:08
10F:→ zxvc: conda install caffe-gpu 01/05 20:08