因之前已安装好tensorflow的GPU版,现因需要再安装caffe。
系统信息:
Ubuntu 14.04
TiTanX
已安装的有:
- Cuda8.0 ( Linux x86_64 Unumtu 14.04 )
- cudnn 5.0
- python2.7
- tensorflow1.0
- tflearn
- gcc 4.8.4
上面安装cuda8.0和cudnn5.0具体可参考:
http://blog.csdn.net/frank_zrh/article/details/52298909,
http://blog.csdn.net/yan_song_/article/details/53154611。
caffe和opencv安装
opencv3.0安装
这里推荐网友写的一个脚本(百度云下载http://pan.baidu.com/s/1qX1uFHa ,密码:wysa)
在Isstall-OpenCV-master的根目录下:
cd ./Ubuntu
sudo sh dependencies.sh
cd ./3.0
sudo sh opencv3_0_0.sh
**下载后,这里会出现报错,github大神给出了解决方案
(https://github.com/opencv/opencv/pull/6510/commits/10896129b39655e19e4e7c529153cb5c2191a1db)
因为现在opencv3.0有个地方还未修改,遇到CUDA8.0会
cd opencv-3.0.0/modules/cudalegacy/src
sudo vim graphcuts.cpp
**在代码line45中找到
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改成:
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
这样再编译一下就好了,再运行
sudo sh opencv3_0_0.sh
中间出现两个问题:
1.nvcc warning : The ‘compute_20’, ‘sm_20’, and ‘sm_21’ architectures are deprecated……
这个警告不影响后面编译结果。
2./usr/local/cuda-8.0/targets/x86_64-Linux/lib/libcudnn.so.5 不是符号连接‘’不是符号连接。
解决办法:
在终端输入:
sudo ldconfig -v
找到这一行错误:libcudnn.so.5 -> libcudnn.so.5.1.10
是这个链接错误,然后在终端输入:
sudo ln -sf /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5.1.10 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5
问题就解决了。
或者直接去目录下找:
安装成功可查看opencv版本信息:
caffe安装
*1)安装依赖项和各种库:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install --no-install-recommends libboost-all-dev
*安装pycaffe所需要的依赖项
sudo apt-get install -y 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
2) BLAS 安装
sudo apt-get install libatlas-base-dev
3)去caffe的github下载caffe源码包
git clone https://github.com/BVLC/caffe.git
注意:若没有安装Git,需要先安装Git:
sudo apt-get install git
4)进入caffe下的python目录,安装requirements.txt文件里需要的依赖包,防止缺少依赖包:
cd caffe/python
for req in $(cat requirements.txt); do pip install $req; done
5)将Makefile.config.example的内容复制到Makefile.config:
sudo cp Makefile.config.example Makefile.config
sudo vim Makefile.config
根据个人情况修改文件:
a.若使用cudnn,则
将#USE_CUDNN := 1
修改成: USE_CUDNN := 1
b.若使用的opencv版本是3的,#OPENCV_VERSION := 3
改为: OPENCV_VERSION := 3
c.若要使用python来编写layer:#WITH_PYTHON_LAYER := 1
改为WITH_PYTHON_LAYER := 1
因为我这个电脑没有安装matlab,所以不用修改MATLAB_DIR := /usr/local/MATLAB/R2014a。
5)编译caffe
sudo make all -j4
sudo make test -j4
sudo make runtest -j4
sudo make pycaffe
完成编译。
不知道自己电脑的CPU核数,可使用lscpu查看:
我的即为4,所以-j4。
测试caffe
cd ~/caffe
sudo sh data/mnist/get_mnist.sh
sudo sh examples/mnist/create_mnist.sh
sudo sh examples/mnist/train_lenet.sh
caffe 例程结果