(一)安装cuDNN
1、下载cudnn
可以注册再下载。不过有点麻烦,官网https://developer.nvidia.com/cudnn
或者百度云下载http://pan.baidu.com/s/1hrAMHko
2、安装
tar -xzvf cudnn-7.0-linux-x64-v3.0-rc.tgz
cd cudnn-7.0-linux-x64-v3.0-rc
进入到解压好的文件夹下,解压后会看到一个cuda文件夹,分别把lib64和include的文件复制到cuda目录下
这里按照默认cuda时的默认安装目录
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
(二)安装caffe
前提:服务器安装见服务器(多GPU)caffe安装和编译
下面的安装适用于普通台式机和笔记本
1、安装依赖
sudo apt-get install git
sudo apt-get install libatlas-base-dev
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
sudo apt-get install python-dev
sudo apt-get install --no-install-recommends libboost-all-dev
2、下载caffe源码并配置
git clone https://github.com/BVLC/caffe.git #不能加sudo,否则权限是root
cd ~/caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config
这里需修改:
使用cudnn
# USE_CUDNN := 1
这里去掉#,取消注释,CUDNN只支持CUDA Capability 3.0以上的GPU加速
要查看显卡的CUDA Capability值,小于3.0,无法支持cuDNN加速,编译caffe时会出错
3、编译caffe
在caffe目录下
mkdir build
cd build
cmake ..
make all
make install
make runtest
4、测试
测试安装完的caffe能不能用,进入caffe路径下。
sh data/mnist/get_mnist.sh
sh examples/mnist/create_mnist.sh
运行脚本:
./examples/mnist/train_lenet.sh
如下:运行图
(四)安装openCV
1.安装依赖
sudo apt-get install build-essential #[compiler]
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev # [required]
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # [optional]
2.下载解压opencv
下载3.0版本 https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/
放置用户目录解压
unzip opencv- 3.0. 0-rc1. zip #这里注意自己的下载的版本名字
3.编译opencv
cd ~/opencv-3.0.0-rc1 #注意自己的目录名
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
有时候在cmake时候会报错如下,这是无法下载安装一个并行计算的文件,这个在某些算法需要用到
解决办法:
(1)下载 https://pan.baidu.com/s/1o77pHDC
(2)将文件放在opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e目录下,
有时候最后一个目录有所不同,没关系。
(3)接着使用上面的cmake进行编译。
有时候我们在条用opencv时候还会出现,报错:can not find libippicv.so或者libippicv.a文件
解决办法:
将~/opencv/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64下的libippicv.a复制拷贝到/usr/local/lib目录下即可
shell命令
cp libippicv.a /usr/local/lib
4.测试opencv
(1)创建工作目录
mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp
(2)编辑如下代码
#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("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
(3)创建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} )
(4)编译文件
cd ~/opencv-lena
cmake .
make
(5)执行
此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行
./DisplayImage lena.jpg