Ubuntu 14.04LTS + Caffe+ CUDA8.0 + OpenCV 3.1.0 + cuDNN 8.0

about

0. Prerequisites

  • General dependencies
$ 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 libgflags-dev libgoogle-glog-dev liblmdb-dev
  • BLAS
$ sudo apt-get install libatlas-base-dev
$ git clone git://github.com/BVLC/caffe.git
  • 修改文件
    修改caffe/examples/cpp_classification/classification.cpp文件,加入:
#include <opencv2/imgproc/types_c.h>
#include <opencv2/objdetect/objdetect.hpp>
  • 修改Makefile.config
$ cd ~/caffe
$ cp Makefile.config.example Makefile.config
$ vi Makefile.config 
# 修改Makefile.config文件:如果没有GPU,则去掉CPU_ONLY:= 1的注释
# 如果安装了Opencv3.x,去掉 OPENCV_VERSION := 3的注释

1. Compilation

  • Pre-Compilation
$ make clean # 第一次编译不用这句,出错时也可使用这句。
$ make all
$ make test
$ make runtest
  • Training LeNet on MNIST with Caffe
# cd 进caffe目录
$ sh data/mnist/get_mnist.sh
$ sh examples/mnist/create_mnist.sh
$ sh examples/mnist/train_lenet.sh

详见这里

!Note: 若在训练时出现

F1202 12:26:03.474925 16455 cudnn_softmax_layer.cpp:15] Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0) CUDNN_STATUS_ARCH_MISMATCH*** Check failure stack trace: ***
...
core dumped

的错误。
是因为:
你的N卡的GPU计算能力小于3.0,导致无法使用cuDNN.
解决方法:

$ vi Makefile.config
# 注释掉 USE_CUDNN := 1

然后

$ make clean
$ make all
$ make test
$ make runtest

最后再执行前面的命令

2. Entension

  • cuDNN 8.0
    详见这里

  • pycaffe
    dependencies

$ 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 Cython ipython
$ sudo apt-get install protobuf-c-compiler protobuf-compiler

Compile pycaffe

$ cd ~/caffe              # cd 进caffe目录
$ make pycaffe

修改环境变量
添加caffe目录下的python地址到$PYTHONPATH

$ sudo gedit /etc/profile
# 文本后尾添加 export PYTHONPATH=/home/alpha/caffe:$PYTHONPATH 
$ source /etc/profile # 使之生效

!Note:上面的/home/alpha/caffe应改成你的caffe目录下的Python地址

Test

$ python                                                #进入python
...
>>> import caffe
>>>                                                     # 没报错,则成功

!Note Ubuntu还自带了python3,有时上面的会报错,
那么试下

$ python3                                                #进入python
...
>>> import caffe
>>>                                                     # 没报错,则成功
    原文作者:庞贝船长
    原文地址: https://www.jianshu.com/p/9e0a18608527
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞