Press "Enter" to skip to content

Caffe(含GPU)安装与测试

最近还是会有很多学习爱好者问我安装caffe的一些问题,虽然现在
TF

很是受大家的喜欢,但是还是会有很多学习者用着caffe。

为了让更多的人少走弯路,网上也有很多教程,我自己来写一下我以前安转的过程与遇到的问题,可以给那些初学者一些建议,希望采纳,如有不对之处,望指正,谢谢!

 

第一部分:
Ubuntu14.04桌面版下载及安装(我是通过U盘安装的,我用工具是UltraISO–特别好用,网上有很多教程,这个不用太过于详细书写)

 

第二部分:
nvidia-cuda-toolkit下载及安装

 

CUDA 8.0 Downloads

 

下载好安装包后,拷贝到你新建的文件下,如:/home/您的服务器名字/新建文件夹,这个目录,并用在终端操作:ctrl+alt+t,在此目录输入代码:

 

sudo dpkg -icuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb-----------------等待其完成;
sudo apt-get update-----------------等待其完成;
sudo apt-get install cuda-----------------等待其完成。

 

过一会就大功告成了,Cuda7.5安装成功。

 

 

第三部分:
安装mkl(我也是从别人百度云下载的,您应该也能下载到该文件,嘿嘿!就是下载有点慢。)

 

1-先安装mkl:

 

下载好后拷贝到/home/您的服务器名字/新建文件,这个目录,然后直接提取到此处并用终端ctrl+alt+t在此目录输入代码:

 

chmod a+x parallel_studio_xe_2016 -R----------------等待完成;
cd parallel_studio_xe_2016;
sudo sh install_GUI.sh(安装GUI)。

 

后面这里有一些繁琐:

 

在安装界面,依次点击next–>next–>next–>i accept–>next-输入激活码

 

激活码获取步骤:

 

进入网址 https://
registrationcenter.intel.com
/en/forms/?licensetype=2&productid=2486

 

全选后 accept,输入邮箱,此邮箱必须是教育机构的邮箱(也就是您们学习官方邮箱)

 

输入后全选accept,之后会出现一个下载页面,点击download,中间会有序列号,你把这个记住就好了。–>next–>no I don’twant…–>next–>next–>install–>next–>finish。

 

安装完成。

 

2-配置环境:

 

终端输入:

 

sudo gedit /etc/ld.so.conf.d/intel_mkl.conf,输入:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64

 

保存退出,再终端输入:

 

sudo gedit /etc/ld.so.conf.d/cuda.conf,输入:
/usr/local/cuda/lib64
/lib

 

保存退出,最后输入:

 

 sudo ldconfig -v

 

完成。

 

第四部分:
安装opencv3.0.0

 

参考:ubuntu14.04+opencv 3.0安装及测试

 

Installation in Linux

 

4.1- 安装opencv所需的库

 

GCC 4.4.x or later
CMake 2.6 or higher
Git
GTK+2.x or higher, including headers (libgtk2.0-dev)
pkg-config
Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
[optional] libtbb2 libtbb-dev
[optional] libdc1394 2.x
[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

 

4.2- 官网下载最新的opencv源码

 

4.3- 编译opencv

 

a.将opencv-3.0.0.zip放在任意目录下,解压 unzip opencv-3.0.0.zip

 

b.创建编译目录,编译

 

cd ~/opencv-3.0.0
mkdir release
cd release

 

%%首次运行下一步的时候出现了问题:提示下载ippicv_linux_20141027.tgz,然后下载不出

 

%%来,参考:Ubuntu14.04 下 OpenCV3 安装,独立下载了该文件,然后替换

 

%%了原来的文件(原来只有14m,下载的有28m)

 

%%下载地址 Browse /3rdparty/ippicv at SourceForge.net

 

%%替换文件路径 ~/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b

 

%用opencv-3.1.0的时候,可以不用下载ippicv_linux_20141027.tgz该文件去替换。

 

 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

 

%输入后等待下载: Downloading ippicv_linux_20151201.tgz…

 

 make –j4

 

%% j后面的数字最好是选择计算机的核心数目

 

 sudo make install

 

4.4- 测试opencv【不必要】

 

4.4.1- 创建工作目录

 

mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp

 

4.4.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;
}
nameWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}

 

3.4.3 创建CMake编译文件gedit Cmakelist.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.4.4- 编译

 

cd ~/opencv-lena
cmake .(注意后面的 “.” )
make

 

4.4.5- 执行

 

此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行:./DisplayImage lena.jpg

 

第五部分:
安装依赖项

 

5.1-安装google-glog

 

下载地址:lee的caffe配置下载glog-0.3.3.tar.gz – 下载频道 – CSDN.NET

 

安装步骤:将glog‐0.3.3.tar.gz这个文件拷贝到主文件夹下,即/home/您的服务器名字文件夹下,提取到此处,解压后终端输入:

 

cd /home/您的服务器名字/glog-0.3.3
./configure
make
sudo make install

 

安装成功。

 

5.2-安装其他依赖项:

 

 sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler protobuf-c-compiler protobuf-compiler

 

5.3-安装Python所需依赖项:

 

 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

 

第六部分:
配置cudnn文件(必用cudnn-7.0-linux-x64-v3.0-prod.tgz这个文件)

 

6.1 下载最新的cudnn库

 

官网注册一个developer的账号,等一两天审核,然后才能下载

 

6.2
解压
cudnn-7.0-linux-x64-v3.0-rc.tgz

 

 tar cudnn-7.0-linux-x64-v3.0-rc.tgz

 

6.3 添加到cudn库中

 

cd cuda
sudo cp ./lib64/libcudnn.so.7.0.58 /usr/local/cuda/lib64/
sudo cp ./include/cudnn.h /usr/local/cuda/include/
sudo ln -s libcudnn.so.7.0.58 libcudnn.so.7.0
sudo ln -s libcudnn.so.7.0 libcudnn.so
sudo ldconfig /usr/local/cuda/lib64

 

第七部分:
配置caffe-master

 

将caffe-master.zip这个文件拷贝到主文件夹下,即/home/您的服务器名字文件夹下,提取到此处,解压后终端输入:

 

cd /home/您的服务器名字/caffe-master
cp ./Makefile.config.example ./Makefile.config

 

打开刚刚新建的Makefile.config文件,做如下修改:

 

7.1. 启用CUDNN,去掉”#”

 

 USE_CUDNN := 1

 

7.2. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)

 

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib/usr/lib/x86_64-linux-gnu/hdf5/serial

 

7.3. 启用Intel Parallel Studio XE 2016

 

 BLAS := mkl

 

7.4. 配置路径,实现caffe对Python和Matlab接口的支持

 

 PYTHON_LIB := /usr/local/lib

 

7.5. 启用OpenCV 3.0,去掉”#”

 

 OPENCV_VERSION =3

 

到此修改结束,保存退出。

 

然后编译caffe-master,终端输入:

 

cd /home/您的服务器名字/caffe-master
make all -j16("‐j16"是使用CPU的多核进行编译,可以极大地加速编译的速度)
make test -j16
make runtest -j16

 

等待编译完成,完成后终端输入:

 

 make pycaffe -j16(编译Python用到的caffe文件)

 

等待编译完成

 

到此caffe-master成功。

 

八 测试caffe (Le-Net 5)

 

%获取数据

 

 cd data/mnist

 

sudo sh ./get_mnist.sh

 

%这样是需要下载的,也可以把mnist的数据,下载好然后放在目录下

 

%重建数据文件,将mnist重建为能被caffe使用的数据格式

 

 cd ~/caffe-master

 

%注意要先回到根目录再进行下面的操作

 

sudo sh ./examples/mnist/create_mnist.sh

 

%训练Le-net 5

 

%注意如果是使用CPU模式的话,需要修改目录下的lenet_solver.prototxt文件,将

 

%solver_mode:GPU改为solver_mode:CPU

 

%在ubuntu 14.04直接双击更改即可,或者在终端用gedit或者vim改

 

%另外可以把迭代次数改小一点,比如5000

 

 sudo sh ./examples/mnist/train_lenet.sh

 

最终训练完的模型会存储为一个lenet_iter_10000的文件,同时在训练时会显示训练的过程,每1000次训练会测试一次模型,accuracy为此时模型的准确率,loss为测试的代价函数。

 

再次感谢福跃的帮助与支持。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注