Ubuntu1504-cuda8.0-caffe安装教程(Titan X Pascal)
- 安装cuda8.0
- 安装OpenCV 3.0.0
- python安装
- 线性代数依赖库安装
- 安装caffe
1 安装cuda8.0
从nvidia官网下载显卡驱动cuda8.0。下载版本以及安装命令如下图所示。
安装完毕后声明环境变量:
sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
接下来,可以使用如下命令检查cuda是否安装成功:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make
......
./deviceQuery
最后输出相应的显卡信息如下,说明cuda安装正确。
2 安装OpenCV 3.0.0
从OpenCV官网下载zip源代码,解压到根目录下。
安装opencv是可能出现如下错误(没有安装qt4.×):
qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’: No such file or directory
可通过如下命令安装qt4.×解决问题:
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
另外还需要更改opencv源码与cuda8.0不匹配的问题(由于CUDA版本高于8.0,所以需要做如下修改。在源文件中找到“graphcuts.cpp”)
将
#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
若不进行上述代码的修改,make opencv源码是将会出现如下错误提示:
error: ‘NppiGraphcutState’ has not been declared
error: ‘NppiGraphcutState’ does not name a type
......
安装依赖项:
sudo apt-get -y remove ffmpeg x264 libx264-dev
sudo apt-get -y install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg libgtk2.0-dev
make OpenCV
cd opencv-3.0.0
mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j8
sudo make install
-j8表示使用cpu8核进行make,可以根据自己机器的性能进行修改。
执行上述cmake命令时,需要使用到的ippicv_linux_20141027.tgz安装包,但是可能会出现ippicv_linux_20141027.tgz无法下载的情况。可以单独下载后,将其拷贝到opencv3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ 目录下即可,如果没有该目录,则创建之。
安装完成以后使用如下命令进行环境变量的配置:
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
测试opencv是否安装成功:
mkdir DisplayImage
cd DisplayImage
gedit DisplayImage.cpp
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc,char** argv)
{
if(argc!= 2)
{
printf("usage:DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image= imread(argv[1],1);
if(!image.data)
{
printf("Noimage data\n");
return -1;
}
namedWindow("DisplayImage",CV_WINDOW_AUTOSIZE);
imshow("DisplayImage",image);
waitKey(0);
return 0;
}
创建CMake文件:
gedit CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(DisplayImage)
find_package(OpenCV required)
add_executable(DisplayImage DisplayImage.cpp)
target_link_libraries(DisplayImage ${OpenCV_LIBS})
编译:
cmake .
make
执行:
./DisplayImage lena.jpg
可显示lena,表示安装opencv成功。
3 python安装
python安装版本:2.7.×
在anaconda官网下载Anaconda2-4.×.sh,下载与安装命令如下(注意安装过程中不要更改安装目录,采用默认的即可):
4 线性代数依赖库安装
caffe 官网给出三种常用的线性代数依赖库(BLAS):ATLAS,MKL,或者 OpenBLAS。本文中采用ATLAS,安装命令为:
sudo apt-get install libatlas-base-dev
5 安装caffe
从官网上下载caffe后,解压。
首先进入caffe-master目录,复制一份Makefile.config:
cp Makefile.config.example Makefile.config
然后修改Makefile.config里面的内容,主要需要修改的参数包括:
cpu_ONLY 是否只使用cpu模式,没有GPU没安装CUDA的同学可以打开这个选项。BLAS,若使用intel mkl在配置文件中修改为BLAS := mkl;若使用OpenBLAS,配置文件中修改为BLAS := open。若按照前面的流程安装的ATLAS的话,配置文件这儿不需要修改。
最重要的是进行如下修改:
修改PYTHON_INCLUDE路径值
将
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
前面加“#”注释。
将ANACONDA_HOME := $(HOME)/anaconda
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
去掉注释。修改PYTHON_LIB 路径值。
将PYTHON_LIB := /usr/lib注释,
PYTHON_LIB := $(ANACONDA_HOME)/lib去掉注释。
最后修改结果如下图所示:
完成上述设置后, 开始编译caffe:
make all -j4
make test -j4
make runtest -j4
如果make时出现error:
error while loading shared libraries: libhdf5_hl.so.10: cannot open shared object file: No such file or directory
使用如下命令即可解决:
cd anaconda/lib/
sudo cp libhdf5_hl.so.10 /usr/lib/x86_64-linux-gnu/