Ubuntu16.04深度学习框架caffe安装与测试

本文详述了在Ubuntu16.04上安装Caffe的步骤,包括安装依赖包、NVIDIA驱动与CUDA、BLAS、Python相关库、cuDNN,以及Caffe的编译与测试。通过遵循教程,读者可以成功配置并运行Caffe进行深度学习任务。
摘要由CSDN通过智能技术生成

                   

 

1.   首先安装caffe的依赖包:

user@user-ubuntu:~$sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

      user@user-ubuntu:~$sudo apt-get install --no-install-recommends libboost-all-dev

user@user-ubuntu:~$sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

 

2.安装英伟达的驱动以及cuda,官网下载 .run文件即可。安装步骤不做概述,百度链接太多,nouveau记得禁用。

3.安装BLAS :

安装atlas 用:  user@user-ubuntu:~$sudo apt-get install libatlas-base-dev  或者安装openblas   以及intelMKL

我这里用的是atlas

4.Python 安装以及python 的一些依赖包安装:

 

      user@user-ubuntu:~$user@user-ubuntu:~$sudo apt-get install python-dev

user@user-ubuntu:~$sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags  ipython

5. 1

6. CUDNN的安装

cuDNN是为DNN设计的CPU加速库。它能在多种情况下帮助提升执行速度。为了下载cuDNN库,你需要到Nvidia网站https://developer.nvidia.com/cudnn上进行注册。几小时到几个工作日就能够批准。一旦注册批准,下载Linux版本的cuDNN v6最新版本是cuDNN v6,但是不是所有的工具都支持。

· 

· 

解压并复制文件

· 

cd ~/Downloads/tar xvf cudnn*.tgz

cd cuda

sudo cp */*.h /usr/local/cuda/include/sudo cp */libcudnn* /usr/local/cuda/lib64/sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

7.这里需要注明一步操作是必须执行的,否则后面make的时候会报错。

 

Sudo nano /etc/ld.so.conf   然后添加一行:/usr/local/cuda/lib64

保存退出,然后sudo ldconfig

8.下载caffe资源包

 

  1.git clonehttps://github.com/BVLC/caffe.git

  2.  cd caffe/

  3. Sudo cp Makefile.config.example Makefile.config

  4. 编辑Makefile.config

 根据个人情况修改文件: 
a.若使用cudnn,则

#USE_CUDNN := 1

修改成:

USE_CUDNN := 1

b.若使用的opencv版本是3的,则参照下列修改,若不使用opencv这里不用动

#OPENCV_VERSION := 3

修改为: OPENCV_VERSION :=3

c.若要使用python来编写layer,则  (默认这里不需要改)

#WITH_PYTHON_LAYER := 1

修改为

WITH_PYTHON_LAYER := 1

 

d. 重要的一项 : 
# Whatever else you find you need goes here.下面的

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

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

这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径. 

9.修改Makefile 文件(注意这里是makefile上面改的是makefile.config)

打开makefile文件,做如下修改:

将:NVCCFLAGS+=-ccbin=$(CXX)-Xcompiler-fPIC $(COMMON_FLAGS)

替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX)-Xcompiler -fPIC $(COMMON_FLAGS)

 

10.然后编译caffe

 

make all -j4                                     

make test -j4

make runtest -j4      

make pycaffe

上述如果没有任何报错,都操作正常的话,这里是完全可以make成功的然后导入caffe

在编译完后的caffe目录下:

echo 'export CAFFE_ROOT=$(pwd)' >> ~/.bashrc

echo 'export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH' >> ~/.bashrc 

source .bashrc

然后cd到caffe-master/python目录下执行python

>>>

>>> 这个后面输入import caffe  导入成功则OK

导入成功:即没有任何报错

 

 

Caffe上配置和运行MNIST (caffe测试)

Caffe默认情况会安装在CAFFEROOT,就是解压到的那个目录,例如: /home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html

1. 数据预处理

可以用下载好的数据集,也可以重新下载,网速快可以直接下载,具体操作如下:

$ cd data/mnist

 

$ sudo sh ./get_mnist.sh

2. 重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpe文件都要处理成这个格式

$ cd examples/mnist

 

$ sudo sh ./create_mnist.sh

生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集

PS: 这里可能会遇到一个报错信息:

Creating lmdb...

./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found

解决方法是,直接到caffe-master的根目录执行,新版的caffe,基本上都得从根目录执行。

~/caffe-master$ sudo sh examples/mnist/create_mnist.sh

确保新生成的2个文件mnist-train-lmdb 和 mnist-test-lmdb位于create_mnist.sh同目录下

 

3. 训练mnist

~/caffe-master$ sudo sh examples/mnist/train_lenet.sh

屏幕显示如下:

……

I0329 16:43:03.739568  4155 solver.cpp:403] Iteration 9800, lr = 0.00599102

I0329 16:43:03.968662  4155 solver.cpp:191] Iteration 9900, loss = 0.00557684

I0329 16:43:03.968705  4155 solver.cpp:206]     Train net output #0: loss = 0.00557684 (* 1 = 0.00557684 loss)

I0329 16:43:03.968732  4155 solver.cpp:403] Iteration 9900, lr = 0.00596843

I0329 16:43:04.198199  4155 solver.cpp:317] Snapshotting to examples/mnist/lenet_iter_10000.caffemodel

I0329 16:43:04.202082  4155 solver.cpp:324] Snapshotting solver state to examples/mnist/lenet_iter_10000.solverstate

I0329 16:43:04.205214  4155 solver.cpp:228] Iteration 10000, loss = 0.00457862

I0329 16:43:04.205276  4155 solver.cpp:247] Iteration 10000, Testing net (#0)

I0329 16:43:04.307497  4155 solver.cpp:298]     Test net output #0: accuracy = 0.9906

I0329 16:43:04.307528  4155 solver.cpp:298]     Test net output #1: loss = 0.02885 (* 1 = 0.02885 loss)

I0329 16:43:04.307541  4155 solver.cpp:233] Optimization Done.

I0329 16:43:04.307549  4155 caffe.cpp:121] Optimization Done.

 

运行完结果如下:

生成四个新文件

 

lenet_iter_10000.caffemodel         

lenet_iter_10000.solverstate      

lenet_iter_5000.caffemodel         

lenet_iter_5000.solverstate

 

还有很多测试的办法,可以参见官网,至此ubuntu16.04 caffe安装完毕。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值