2017.2更新:
CUDA安装参考 http://www.linuxidc.com/Linux/2015-07/120449.htm ,先装CUDA再装cuDNN。(装NVIDIA驱动坑比较多,尤其对于UEFI启动的,可能需要修改BIOS, disable 掉secure boot 才能安装成功)
其他安装参照官网步骤,对于UBUNTU14.04 不需要再下载包了,直接apt-get就可以
编译.cu文件时可能会报错:nvcc fatal : Unsupported gpu architecture 'compute_60'
参考 http://blog.csdn.net/u013983674/article/details/54172268 ,修改Makefile.config文件,注释掉-gencode arch 60及以下行即可
-----------------------------------------------------------------------------------------
1. 依赖项
CUDA
由于机器不是NVIDIA显卡,直接跳过CUDA的安装
BLAS
用的ATLAS
sudo apt-get install libatlas-base-dev
Protobuf + Leveldb + Snappy + Opencv + Boost + Hdf5 + Glog + Gflags + Lmdb
1. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
最好一项一项安装,出错时可以知道哪一项失败了
cd glog-0.3.3
./configure
make && make install
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
3. lmdb的地址失效了,从 CSDN上下的一个包
cd mdb/libraries/liblmdb
make && make install
4. 下载 protobuf,解压后修改autogen.sh : 注释掉 curl 那一行(因为google地址被屏蔽了)
相应的,需要手动下载该链接的 gmock ,压缩包放在protobuf内
安装automake工具
sudo apt-get install autoconf automake libtool
此时运行 ./autogen.sh 应该不会出错了。接下来make protobuf
./configure
make
make check
make install
2. Caffe编译
-> 下载caffe源文件
-> 修改makefile.config
cp Makefile.config.example Makefile.config
因为没有CUDA,将文件中的 CPU_ONLY:=1 和 CUSTOM_CXX:=g++ 解除注释
-> 编译caffe
make all
make test
make runtest
3. Python接口
官网推荐安装Anaconda版本的python,里面集成了需要的包
或者按照 caffe/python/requirements 的内容自己配置python
用的第二种方式:
sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
sudo apt-get install protobuf-c-compiler protobuf-compiler
在 caffe 目录下编译pycaffe
make pycaffe
添加caffe路径到python
import sys
sys.path.append("path/to/caffe/python/")
exit()
此时import caffe可能会报错:
can’t import symbol_database
错误是google.protobuf版本问题导致的:
首先备份 /usr/lib/python2.7/dist-packages/google/descriptor_pb2.py
然后下载protobuf-3.0 alpha,将其 python/google 目录下的所有文件替换到 /usr/lib/python2.7/dist-packages/google/
最后将descriptor_pb2.py 复制回来
再次 import caffe,成功!
参考资料
[1] http://caffe.berkeleyvision.org/installation.html
[2] http://blog.csdn.net/zxd675816777/article/details/39649281
[3] http://bbs.itbookstudy.com/t/12870/1/1
[4] http://blog.csdn.net/huangshanchun/article/details/42083985
[5] http://www.cnblogs.com/sunshineatnoon/p/4535329.html