ubantu16.04下载caffe深度学习框架(NVIDIA 显卡驱动,cuda8.0 ,cudnn5.1, opencv3.3.1和opencv_contrib库,caffe,GPU版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dyingstraw/article/details/81304538

建议看完后再安装.....

step 1

显卡驱动安装:

step .1:首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:

$ubuntu-drivers devices

 

 

step.2,安装驱动

你可以选择,安装所有推荐的驱动,如下命令

 

sudo ubuntu-drivers autoinstall

 

或者安装某一个驱动

sudo apt install nvidia-384(384是版本号,要根据自己的作修改)

OK 驱动安装完成,重新启动,查看系统配置---》详细信息---》关于   ,图形处理是否对应于自己的独立显卡。

sudo nvidia-smi

显示如图,则代表成功了

step2

下载并安装cuda8.0

首先在官网上(https://developer.nvidia.com/cuda-downloads)下载CUDA:

安装cuda8.0,cd.run 文件所处的路径下,安装nvidia driver

sudo chmod +777 cuda_8.0.44_linux.run

sudo sh cuda_8.0.44_linux.run

按照步骤安装,第一个就是问你是否安装显卡驱动,由于前一步已经安装了显卡驱动,所以这里就不需要了,况且 runfile 自带的驱动版本不是最新的。

 

出现下图则表明成功:

 

最后你会看到cuda驱动,sample,toolkit已经成功安装,但缺少一些库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

下载cudnn5.1

首先去官网https://developer.nvidia.com/rdp/cudnn-download 下载cuDNN,需要注册一个帐号。下载版本号如下图

1下载cudnn5.1后进行解压:

sudo tar -zxvf  ./cudnn-8.0-linux-x64-v5.1.tgz

cd cuda

sudo cp lib64/lib* /usr/local/cuda/lib64/

sudo cp include/cudnn.h /usr/local/cuda/include/

2然后更新网络链接:

cd /usr/local/cuda/lib64/

sudo chmod -r libcudnn.so.5.1.10  #查看自己的.so版本

sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5.1

sudo ln -sf libcudnn.so.5.1 libcudnn.so.5

sudo ldconfig

3 重新启动图形化界面

sudo service lightdm start

再按ctrl + alt +f7退出

4 添加环境变量

编辑计算机文件夹的/etc/profile,加入cuda环境变量,保存

sudo gedit /etc/profile

添加以下内容在底部

export PATH=/usr/local/cuda/bin : $PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64 : LD_LIBRARY_PATH

保存后执行一下命令,使其生效:

source /etc/profile

 

打开~/.bashrc文件: sudo gedit ~/.bashrc 将以下内容写入到~/.bashrc尾部:

 

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source ~/.bashrc

同时 进入/etc/ld.so.conf.d/文件夹,执行以下命令,新建一个名为cuda.conf的文件,然后在文件下写入以下内容:

cd /etc/ld.so.conf.d/

sudo gedit cuda.conf

/usr/local/cuda/lib64

然后执行以下命令,使其生效:

sudo ldconfig

5 检查一下cuda Toolkit是否安装成功

nvcc -v #会显示cuda版本信息

6 测试cuda的samples,编译cuda提供的例子

cd ~/NVIDIA_CUDA-8.0_Samples #根据自己的路径修改

sudo make all -j8

运行编译生成的二进制文件,编译后的二进制文件默认存放在~/NVIDIA_CUDA-8.0_Samples/bin,进入Samples/bin/x86_64/linux/release目录下

cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release/

make

./deviceQuery

如果显示"Result = PASS,则安装成功cuda

 

step3

1下载安装opencv3.3.1和opencv_contrib3.3.1库,opencv_contrib库中的dnn可以直接加载各种神经网络的model和deploy.prototxt,适用常用的框架环境,比如caffe,tensorflow等

wget https://github.com/opencv/opencv/archive/3.3.1.zip
wget https://github.com/opencv/opencv_contrib/archive/3.3.1.zip

(3.3.1.zip就是opencv-3.3.1.zip)
(3.3.1.zip.1就是opencv_contrib-3.3.1.zip)

2 解压两个压缩文件,把并把opencv_contrib-3.3.1放到opencv-3.3.1目录下

unzip opencv-3.3.1.zip -d
unzip opencv_contrib-3.3.1.zip

3 安装各种依赖

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install build-essential

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

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

sudo apt-get install pkg-config

4 然后在opencv文件夹下创建build目录,并执行cmake

cd ~/opencv3.3.1

mkdir build

cd ./build

cmak -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib- 3.3.1/modules -D BUILD_EXAMPLES=ON -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D BUILD_TIFF=ON ..

自己根据自己的路径修改OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib- 3.3.1/modules ,后面的..不要省略

出现下图则编译成功

make -j8

sudo make install

5 链接库共享

sudo ldconfig -v

6 编译安装好的cv2.so,在usr/local/lib/python2.7/site-packages或者dist-packages下

在这个目录下可以添加到环境变量中

sudo gedit /etc/profile

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

保存退出

source /etc/profile

然后如图执行

则代表成功了

如果用的是第三方python,还需要将/usr/local/lib/python2.7/site-packages目录下的cv2.so复制到第三方的python

以anaconda为例

sudo cp /usr/local/lib/python2.7/site-packages/cv2.so  ~/anaconda/lib/python2.7/site-packages

step4

安装依赖

sudoapt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-devlibhdf5-serial-dev protobuf-compiler

sudoapt-get install --no-install-recommends libboost-all-dev

sudoapt-get install libopenblas-dev liblapack-dev libatlas-base-dev

sudoapt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install -y python-numpy python-scipy

下载安装caffe

1 https://github.com/BVLC/caffe下载caffe,下载后

sudo unzip caffe-master.zip

2 然后复制Makefile.config,在caffe目录下(把caffe.master改成caffe)

sudo cp Makefile.config.example Makefile.config

3 打开Makefile.config文件

sudo gedit Makefile.config

根据个人情况修改文件

若用cudnn则

将#use_cudnn := 1改成

use_cudnn := 1

若用opencv3的,将

#OPENCV_VERSION := 3改成

OPENCV_VERSION := 3

若要使用python来编写layer,则

#WITH_PYTHON_LAYER := 1改成

WITH_PYTHON_LAYER := 1

最重要的一项

将# Whatever else you find you need goes here. 下面的

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

2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 改成

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

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

4 修改Makefile文件

打开makefile文件,做如下修改:(这个不知道有没有用,这一步感觉没作用)
将:

sudo gedit Makefile

把NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 改为

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

5 编辑/usr/local/cuda/include/host_config.h(不知道有没有用,这一步我看到有帖子改了,但大多数没改这个)

将其中的第115行注释掉:

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!改成

//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

如果出现src/caffe/layers/hdf5_data_layer.cpp:13:18: fatal error: hdf5.h: 没有那个文件或目录的错误,则

\\首先执行下面两句话:
find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

cd /usr/lib/x86_64-linux-gnu

\\然后根据情况执行下面两句:
sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
\\注意:这里的10.1.0和10.0.2根据不同的系统可能对应的数字会不同,比如在ubuntu15.10中其数字就是8.0.2.
\\具体的数字可以在打开的文件中查看对应文件后面跟的数字

然后更改"Makefile.config"文件中的包含目录,在90行左右

INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/include
然后在后面加上"serial"的包含目录,即:
INCLUDE_DIRS:=$(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
接着需要更改相应的"Makefile"文件,找到(181行左右)
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
更改最后两项为:
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
就可以了,继续make了。

6 编译

sudo make all -j8

sudo  test -j8

sudo  runtest -j8 出现下图则成功

 

7 编译pycaffe,不然导不进caffe模块

首先确保pip已经安装 

sudo apt-get install python-pip

在caffe/python 下有一个requirement.txt,里面有所需要安装的所有库

cd caffe/python

for req in $(cat requirements.txt); do pip install $req; done

如果出现错误,试一下

sudo gedit /etc/profile 

export PYTHONPATH=$~/caffe/python:$PYTHONPATH
export LD_LIBRARY_PATH=$~/caffe/build/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH (~表示你的家目录)

如果执行成功,就代表所需要的库已经安装成功。可以在进入 caffe/python 路径下执行

cd caffe/python
sudo pip install -r requirements.txt

安装成功会看到显示Requirement already satisfied。

然后

cd caffe

sudo make pycaffe -j8

加入环境变量

sudo gedit /etc/profile 加入

export PYTHONPATH=~/caffe/python:$PYTHONPATH

sudo source /etc/profile

验证,在终端

python

import caffe

成功的话出现下图

8 最后   MNIST数据集测试

将终端定位到Caffe根目录

cd ~/caffe

下载MNIST数据库并解压缩

./data/mnist/get_mnist.sh

将其转换成Lmdb数据库格式

./examples/mnist/create_mnist.sh

训练网络

./examples/mnist/train_lenet.sh

训练的时候可以看到损失与精度数值,如下图所示:

 

整个过程差不多就是这样了,安装过程中要根据自己的情况做修改!

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值