Ubuntu 16 安装 Cuda8+OpenCV3.2+Caffe
本文综合自互联网,经过自己的实践写出。
0 准备
系统设置处,更换软件源。
Ubuntu 下实时显示网速
1
2
3sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install indicator-netspeed安装好后,设置
{net} C: {cpu} M: {mem}
,勾选 Run on startup到应用商店安装 GDebi
到搜狗输入法官网下载搜狗输入法,使用 GDebi 安装。
网易云音乐也提供 deb 包
安装 git,安装 cmake
1
2sudo apt install git
sudo apt install cmake
1 安装 Cuda
- 到系统设置→软件与更新→附加驱动。安装 NVIDIA 私有驱动。
- 重启。执行
sudo nvidia-smi
查看信息,说明安装成功
- 到 NVIDIA 官网下载历史版本的 Cuda,下载 Cuda8 的 run 文件。注意不要再重复安装驱动
- 设置环境变量,修改 PATH 和 LD_LIBRARY_PATH文档最后添加
1
sudo gedit ~/.bashrc
1
2
3exportPATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
{LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} - 测试 CUDA 的 samples
1
2
3
4cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
PASS,说明安装成功 - 安装 Cudnn
- 官网下载 Cudnn:https://developer.nvidia.com/rdp/cudnn-download , 需要账号登录
- 在 cuDNN 解压之后的 include 目录打开终端
1
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
- 进入 lib64 目录下的动态文件进行复制和链接:
1
2
3
4
5sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
2 安装 Caffe
- 下载 caffe:https://github.com/BVLC/caffe
- 安装依赖项
1
2
3
4sudo 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 libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev - 将 caffe 包解压,复制到
~/tools
目录下 - 配置 Makefile.config
- 复制 Makefile.config.example,重命名为 Makefile.config
- 修改为
1
2INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib /usr/lib1
2INCLUDE_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 - 编译
1
2
3make all –j8
make test
make runtest - 使用 MNIST 数据集测试
- 所有操作需要定为到 caffe 根目录
- 下载 MNIST 数据库并解压缩
1
./data/mnist/get_mnist.sh
- 转换成 Lmdb 数据库格式
1
./examples/mnist/create_mnist.sh
- 训练网络
1
./examples/mnist/train_lenet.sh
- 训练的时候可以看到损失与精度的数值,实验中为 0.9906。
- 至此,caffe 安装完成。
3 安装 OpenCV3.2
- 下载
- 解压包,复制到
~/tools
目录下 - 在 OpenCV 目录下新建 build 文件夹,进入,打开终端
- 执行,需要联网
1
sudo cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
- 编译、安装
1
2sudo make –j8 #要比较久
sudo make install - 在 caffe 下编译 OpenCV
- 切换到 caffe 根目录
- 配置 Makefile.config 文件,将
#OPENCV_VERSION := 3
修改为OPENCV_VERSION := 3
- 编译
1
2
3
4make clean #清除以前的编译
make all -j8
make test
make runtest
4. 安装 Matlab
Matlab 的 caffe 接口编译有错误。继续研究中。