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安装成功。

640?wx_fmt=png

第三部分:安装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-输入激活码

激活码获取步骤:

进入网址registrationcenter.intel.com

全选后 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 laterCMake 2.6 or higherGitGTK+2.x or higher, including headers (libgtk2.0-dev)pkg-configPython 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.0mkdir releasecd 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-lenacd ~/opencv-lenagedit 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-lenacmake .(注意后面的 “.” )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./configuremakesudo 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 cudasudo 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.0sudo ln -s libcudnn.so.7.0 libcudnn.sosudo ldconfig /usr/local/cuda/lib64

第七部分:配置caffe-master

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

cd /home/您的服务器名字/caffe-mastercp ./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/includeLIBRARY_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-mastermake all -j16("‐j16"是使用CPU的多核进行编译,可以极大地加速编译的速度)make test -j16make 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为测试的代价函数。

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

如果想加入我们“计算机视觉战队”,请扫二维码加入学习群。计算机视觉战队主要涉及机器学习、深度学习等领域,由来自于各校的硕博研究生组成的团队,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。

640?wx_fmt=jpeg

我们开创一段时间的“计算机视觉协会”知识星球,也得到很多同学的认可,我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

640?wx_fmt=jpeg 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值