Ubuntu14.04_X64 + ATI显卡 安装Caffe

来源:互联网 发布:php代码批量替换工具 编辑:程序博客网 时间:2024/05/29 07:34

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
最好一项一项安装,出错时可以知道哪一项失败了

2.  glog 和gflags直接从网上下的压缩包

cd glog-0.3.3./configuremake && make install

cd gflags-mastermkdir build && cd buildexport CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1make && make install

3.  lmdb的地址失效了,从CSDN上下的一个包

cd mdb/libraries/liblmdbmake && 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 allmake testmake 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 syssys.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

0 0