自学DeepLearning系列

来源:互联网 发布:php syntax error 编辑:程序博客网 时间:2024/06/05 08:51

Ubuntu14.04(x64) + Caffe + Opencv3.1.0 .....(Faster-RCNN and 持续更新中)

0.题外话

        自学东西真的很难,网上虽然也有不少的资料,但是自己经验有限,能够完全理解也需要一定时间,如果一步一步按照网上说的从零开始做,仔仔细细的校对,你会发现,有些步骤出了问题,而网上却没有。所以我都是找了很多的资料一起看,相互对比。第一次干什么事都很难,但是只要你过了这个坑,你就成功了!!!

        在接下来的内容中我会描述我自己的经验,从搭建环境开始,力求自信,希望看到这篇博文的人能到一天配置好所有,虽然我是花了3天。。。至于为什么选择linux环境,答案就一个,因为官方的教程都是linux,看教程方便。那些windows的教程都是二手的,有局限性。


1.需要准备的软件

目的:配置带有opencv+python接口的caffe,你需要准备:

1>CUDA 7.0:

在很多老的教程上都是说要下.run文件,再安装cuda之前要先禁用原有的显卡驱动。但是有更简单的办法,那就是安装.deb格式的。所以你在下载的时候一定要选择 local(deb)安装,此外还有注意一点是对应的ubuntu型号,要选择对应ubuntu14.04的cuda7.0,所以,下载的文件应该是:cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb。当然也可以在我的百度网盘里下载:

网盘地址:

下载来说一下CUDA的安装方法:

#sudo dpkg  -i   cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

#sudo apt-get update

#sudo apt-get install cuda

#sudo reboot

安装完cuda以后会在/usr/local/下出现 cuda 和 cuda-7.0 两个文件夹,cuda是cuda-7.0的软连接(也就是快捷方式),然后:

#cd   /usr/local/cuda-7.0/samples     中

这个有个Makefile,那我们就直接执行make就好了,我电脑是:i7-4核  8线程的 所以执行

#make   all  -j8  (大约10分钟左右)

编译完以后samples文件夹下会多出来个bin文件夹,这里存放着编译好的程序

#cd   bin/x86_64/linux/release

#./deviceQuery  这会输出显卡的信息,但是我们的driver version和 runtime version 不一样我也不知道以后会不会有问题。

deviceInfo.png

将cuda路径添加到系统路径中:

#gedit  /etc/profile

在空白处加上:  export PATH=/usr/local/cuda-7.0/bin:$PATH 

                            

#source /etc/profile

编写库文件:

#gedit  /etc/ld.so.conf.d/cuda.conf

添加:/usr/local/cuda-7.0/lib64

#sudo ldconfig

2>cuDnn 7.0:

这个是GPU加速运算的库,安装也比较简单,就是解压以后把文件夹中的文件复制到相对应的CUDA路径下,下载地址:

网盘地址:

执行命令:

#tar zxvf  cudnn-7.0-linux-x64-v3.0-prod.tgz      !!!  注意  一定是v3.0的  因为v4.0的接口变了

#cd cuda

#sudo  cp  include/*   /usr/local/cuda-7.0/include/

#sudo  cp  lib64/*  /usr/local/cuda-7.0/lib64/

这个时候要去 /usr/local/cuda-7.0/lib64下看一下,因为复制过去的软连接都变成了实体,这时候要删除这些软链接重新创建,不然会报错!!

#cd  /usr/local/cuda-7.0/lib64

#sudo  rm libcudnn.so  libcudnn.so.4

然后重新创建:

#sudo ln -s  libcudnn.so.4.0.7  libcudnn.so.4

#sudo ln -s libcudnn.so.4   libcudnn.so

这就算安装完了。

3>安装google的第三方库:

#sudo apt-get install build-essential

#sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

#sudo apt-get install --no-install-recommends libboost-all-dev
#sudo apt-get install libatlas-base-dev  (安装atlas)#sudo apt-get install python-dev         (安装Python)
#sudo apt-get install python-pip        (安装Python)#sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook (安装Python)
安装scikit-image
#pip install scikit-image
安装google-protobuf
#pip install protobuf

3>opencv3.1.0

下载opencv的网盘:

安装也比较好安装直接解压,然后cmake(前提是你要有cmake,#sudo apt-get install cmake)

先安装opencv的依赖库:

#sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

移动到opencv.zip所在的文件夹,然后解压:

#unzip opencv-3.1.0.zip

#cd opencv-3.1.0

#mkdir release

#cd release

#cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..(时间会很久)

#make -j8

#sudo make install

到此,配置caffe所需的文件都编译完了。


1.编译caffe

1>下载caffe源码:https://github.com/BVLC/caffe。然后解压

#unzip caffe-master.zip

#cd caffe-master/python

#sudo   for  req in $(cat requirements.txt); do pip install $req; done  (安装python所需的依赖库)

然后返回caffe-master目录,编辑Makefile来配置caffe:

#cp Makefile.config.example     Makefile.config

这里英语好的同学可以很轻松的看懂,对于我这种英语不是很好的就有点纠结了。
主要说下改的地方吧:

(原来是)

# USE_CUDNN := 1

(改成)

USE_CUDNN := 1

如果你不是默认位置安装的话,检查一下python的路径:

PYTHON_INCLUDE:

PYTHON_LIB:

(原来是)

#WITH_PYTHON_LAYER := 1

(改成)

WITH_PYTHON_LAYER := 1

我的Makefile.config :   地址

然后就是激动人心的make时刻

#make all -j8

#make test  -j8

#make runtest  -j8

编译caffe的python接口:

#make pycaffe

以上绝大部分参考官网:http://caffe.berkeleyvision.org/installation.html#compilation

还有网上资料:http://www.tuicool.com/articles/nYJrYra

http://www.linuxidc.com/Linux/2015-07/120449.htm

2.运行第一个caffe的例子:MNIST

参考官网:http://www.linuxidc.com/Linux/2015-07/120449.htm

3.用自己的数据训练ImageNet网络(实现分类功能,可以用训练出的模型来分类)


            参考官网:http://caffe.berkeleyvision.org/gathered/examples/imagenet.html

            网络资源:http://www.docin.com/p-871820919.html(caffe学习笔记3 用自己的数据训练和测试)

            自己修改后的文件都存储在网盘里:

            根据这个solver.prototxt配置网络,生成的 caffemodel文件都保存在caffe-master根目录中:


           目前正在训练中。。。但是训练的次数好像有点多。。


4.用faster-RCNN 模型 训练自己的数据集(用来实现检测和分类功能)


从Github上下载py-faster-rcnn源码:


           首先说下python的caffe接口怎么用,是通过在python中import caffe这个模块。

          但是在编译caffe和pycaffe后,只能在caffe-master/python这个文件夹下import caffe才能用。

          那么问题来了,faster-RCNN中的python程序想import caffe 怎么才能好用呢?

          一个最简单的办法就是创建软连接:在import的默认路径中添加一个指向caffe-master/python/caffe这个文件夹的软连接就OK了!!

具体方法:

#python(打开python终端)

>>>import sys

>>>sys.path    (import 的默认路径是sys.path 定义的)

[ ' ' ,'/usr/lib/python2.7 ', ' '.......... ]

#sudo  ln  -s  /home/yueqiang/3dparty/caffe-master/python/caffe  /usr/lib/python2.7/caffe

这样就OK了!!!在任何的python程序中import caffe都是可以得!!!!!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



























0 0