ubuntu16.04+caffe-ssd+opencv3.4.2+cuda+cudnn安装
- 首先安装nvidia显卡驱动
-
- 安装Cuda和Cudnn
- 安装OPENCV3.4.2
- 安装caffe-ssd
首先安装nvidia显卡驱动
首先,新安装的系统我换了清华镜像源,有需要自行百度。
默认已经安装好anaconda3,自行百度。
直接进入软件和更新中选择想要安装的驱动,应用更改。
然后重启。
完成后可以在命令行输入nvidia-smi查看是否安装成功。
安装Cuda和Cudnn
进入 https://developer.nvidia.com/cuda-downloads ,根据自己条件依次选择 CUDA 类型然后下载即可。
直接运行,如果是英伟达显卡就不要安装opengl了。
// An highlighted block
sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs
注意把对应的安装文件名改成自己下载的。
输入命令后一直回车看完文档后,先输入accept,然后根据自己第一步英伟达显卡驱动的安装请况选择yes或no,我是自己安装的驱动,所以我选择的no。剩余的全部yes或者enter。
完成之后重启。
重启之后修改环境变量。
sudo gedit ~./bashrc
在最后面加入下面两行
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
保存退出之后输入
source ./bashrc
使环境变量生效。
验证是否安装成功:进入cuda的sample目录下编译样例并执行。
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
若PASS则说明安装成功。
Cudnn安装:登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下载对应 cuda 版本且 linux 系统的 cudnn 压缩包。注意Cudnn的版本与Cuda版本和显卡驱动版本必须匹配。
下载完成后解压,得到一个 cuda 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cuda/include 路径下,然后进行以下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
然后进入lib64路径下:
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.7.5.0 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
注意查看自己的so文件后缀,将第3个命令的7.5.0修改为自己对应的后缀。
安装完成后输入nvcc -V验证是否安装成功,若出现以下信息表示安装成功
[email protected]-X550VB:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
安装OPENCV3.4.2
在已经安装好anaconda3的情况下,直接输入:
conda install opencv
等待。。若出现
就装好了。
安装caffe-ssd
首先安装必须的依赖库
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
sudo apt-get install libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
然后克隆caffe-ssd,ssd采用的是在caffe文件夹中内嵌例程的方式,作者改动了原版caffe,所以你需要把原来的caffe文件夹移除,git命令会新建一个带有SSD程序的caffe文件夹,当然,这个新的caffe要重新编译一次。
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
这里需出现分支成功的提示方可继续:
Branch ssd set up to track remote branch ssd from origin.
Switched to a new branch ‘ssd’
编译caffe-ssd准备:
cd caffe
cp Makefile.config.example Makefile.config
修改caffe目录下的Makefile和Makefile.config文件。主要修改opencv使用,opencv版本,python路径等。Makefile和Makefile.config文件中还有一项boost_python版本的修改,如果是python3的话,参考https://blog.csdn.net/CAU_Ayao/article/details/83899878安装boost之后,对应修改自己的boost_python版本。(一般是3或者37)。
修改完毕后开始编译。
make all -j8
若出现
这样的错误的话,注意warning中提示缺少的文件,如果在anaconda3/lib目录下找不到的话,用命令
sudo apt-get install libXXX-dev
安装。XXX是对应缺少包的名字。
如果在anaconda3/lib目录下找到对应的so文件,依然提示这个错误,将anaconda3/lib添加至环境变量中或者用cp命令将缺少的文件拷贝至/usr/lib/x86_64-linux-gnu/和/usr/lib/目录下。
然后重新
make clean
make all -j8
编译。
通过之后,继续以下命令:
make py
make test -j8
make runtest -j8
如果还出现之前一样的错误,一样的处理办法。
全部通过后caffe-ssd安装完毕。