Ubuntu Linux操作系统安装CUDA、CuDNN以及MatConvNet for CFNet跟踪算法运行

环境介绍

  • 操作系统:Ubuntu 16.04 x64
  • CUDA版本:CUDA Toolkit 8.0 - Feb 2017(文件名:cuda_8.0.61_375.26_linux.run)
  • cuDNN版本:cuDNN 5.1(文件名:cudnn-8.0-linux-x64-v5.1.tgz)
  • gcc/g++版本:4.9.3
  • MatConvNet版本:MatConvNet-1.0-beta24或MatConvNet-1.0-beta25
  • MATLAB版本:MATLAB R2017b

注: 就本文应用的范围而言(运行CFNet目标跟踪源代码),无需手工配置环境变量。

安装CUDA

  1. 在NVIDIA官方网站上下载CUDA 8.0:
    https://developer.nvidia.com/cuda-80-ga2-download-archive

以Ubuntu 16.04操作系统为例,在下载页面进行如下选择

Ubuntu Linux操作系统安装CUDA、CuDNN以及MatConvNet for CFNet跟踪算法运行_第1张图片

  1. 下载后,在终端中进入安装包所在的目录,并运行
sudo sh cuda_8.0.61_375.26_linux.run

然后根据提示操作(几乎都可以选y),这样,CUDA的安装就完成了。

安装cuDNN

  1. 在NVIDIA官方网站上下载cuDNN,具体版本见文章开头的环境介绍

  2. 下载后,解压,在终端中进入到解压后所在的目录(假如解压到downloads目录里面,那么就进入到downloads目录即可),运行以下三条命令:

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

若有提示依赖缺失,软件包尚未配置好的,还需要执行命令(个人没有遇到过,先贴在这里备用,此处感谢博主逆水行舟)的无私分享:

sudo apt install -f

至此,cuDNN的安装就完成了。

安装MatConvNet(Step 1)

  1. 首先查看系统中当前的gcc/g++版本,运行命令即可看到版本信息:
gcc -v
  1. 如果版本不是4.9.x,那么需要安装gcc/g++ 4.9的版本,运行命令:
sudo apt-get install gcc-4.9 g++-4.9
  1. 设置优先级。通常情况下,Ubuntu 16.04系统可能会内置更高的gcc/g++版本,这里需要将刚刚安装的4.9版本的gcc/g++设为最高优先级,运行下列命令(这里假定更高的版本号是5,实际操作时要结合真实的版本号):
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
  1. 修改完优先级后,验证一下:
update-alternatives --query gcc
update-alternatives --query g++

此处感谢Weiyang同学的无私分享。

安装MatConvNet(Step 2)

安装LibJPEG:

sudo apt-get install build-essential libjpeg-turbo8-dev

安装MatConvNet(Step 3)

  1. 在这里下载MatConvNet:http://www.vlfeat.org/matconvnet/download/
  2. 解压MatConvNet
  3. 启动MATLAB,在MATLAB中进入解压后的MatConvNet文件夹中的matlab目录
  4. 在MATLAB的命令行中分别运行两条命令,确保MATLAB配置的C/C++编译器为gcc和g++:
mex -setup
mex -setup C++

如下图所示:
Ubuntu Linux操作系统安装CUDA、CuDNN以及MatConvNet for CFNet跟踪算法运行_第2张图片

  1. 针对CPU进行编译,在MATLAB的命令行中运行:
vl_compilenn
  1. 针对GPU进行编译,在MATLAB的命令行中运行(下面命令的最后一个参数是CUDA的安装路径,可能需要结合实际修改):
vl_compilenn('enableGpu', true, 'cudaRoot', '/usr/local/cuda')

如果运行上述命令报错,那么尝试运行下面的命令:

vl_compilenn('enableGpu', true, 'cudaMethod', 'nvcc', 'cudaRoot', '/usr/local/cuda')

运行该命令时如果有一些warning,不必理会,只要最后有“mex completed successful”这样的字样即可。

  1. 在MATLAB命令行中,运行:
vl_setupnn
  1. 在MATLAB命令行中,运行GPU测试:
vl_testnn('gpu', true)

测试结果如下图所示:
Ubuntu Linux操作系统安装CUDA、CuDNN以及MatConvNet for CFNet跟踪算法运行_第3张图片

  1. 在MATLAB命令行中,运行CPU测试:
vl_testnn

测试结果如下图所示:
Ubuntu Linux操作系统安装CUDA、CuDNN以及MatConvNet for CFNet跟踪算法运行_第4张图片

这样,基于Ubuntu的MatConvNet深度学习环境就搭建好了。经过验证,CFNet跟踪源代码可以在这样的Ubuntu系统上运行。具体操作步骤,可以参考本人另外两篇文章:

  • CFNet视频目标跟踪源码运行笔记(1)——only tracking
  • CFNet视频目标跟踪源码运行笔记(2)——training and then tracking

想持续获得文章推送?欢迎扫码关注“视觉边疆”微信订阅号
Ubuntu Linux操作系统安装CUDA、CuDNN以及MatConvNet for CFNet跟踪算法运行_第5张图片

你可能感兴趣的:(视频目标跟踪(Visual,tracking),环境搭建,Ubuntu,filter),MATLAB,深度学习(Deep,learning),CUDA,MatConvNet,数字图像处理,模式识别与深度学习)