本片博客的安装环境是ubuntu16.04系统和已经安装好的GPU驱动,GPU安装驱动请自行完成。
安装好驱动以后执命令查看安装的驱动版本:html
sudo nvidia-smi
能够看到个人驱动是384.130版
python
cuda的下载linux
我这里选择cuda-8.0.44进行下载。这个是下载cuda的连接地址:https://developer.nvidia.com/cuda-80-download-archive
下载下来的文件放到/home目录下,你们也能够选择适合本身电脑的CUDA版本进行下载。
git
cuda的安装github
执行下面的命令进行安装:shell
sudo sh cuda_8.0.44_linux.run
注意:在安装的时候首先要一直按enter键完成安装文档的阅读,而后选择 accept 接下来会出现让你选择是否安装nvidia361驱动,由于前面驱动已经安装好了,因此这里要选择no,不安装默认驱动ubuntu
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?#就是这里要选择no
cuda环境的配置vim
打开~/.bashrc 文件,并添加3句命令到文件的末尾。bash
sudo vim ~/.bashrc #打开.bashrc文件 export CUDA_HOME=/usr/local/cuda-8.0 #将export这3句添加到文件的末尾。 export PATH=$PATH:${CUDA_HOME}/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
以下图所示:
网络
source ~/.bashrc #执行命令使.bashrc文件配置生效
测试cuda是否安装成功
一样在/home根目录下执行下面的命令,测试是否成功安装CUDA,若执行完命令显示GPU的相关信息表示安装成功。
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery #由本身电脑目录决定 sudo make sudo ./deviceQuery
cudnn的安装更加简单,其实就是复制文件和创建软链接。
cudnn的下载
cudnn的下载连接以下,须要注册,而后再登陆进去,选择适合本身的版本下载
https://developer.nvidia.com/rdp/cudnn-download
我这里下载的是cudnn6.0版本的,登录进去以后选择Archived cuDNN Releases 而后选择cudnn v6.0…for CUDA 8.0下载
cudnn的安装
下载完成以后解压到/home目录下,文件夹重命名为cudnn6,而后执行下面的命令进行安装
vim setupcudnn.sh #新建一个shell脚本文件,文件里面复制下面的内容进去
#!/bin/bash echo "remove libcudnn* file of /usr/local/cuda/lib64" sudo rm -rf /usr/local/cuda/lib64/libcudnn.s* #删除旧版本cudnn echo "copy cudnn.h to usr/local/cuda/include" sudo cp /home/user_name/cudnn6/include/cudnn.h /usr/local/cuda/include #复制cudnn.h文件到/usr/local/cuda/include目录下,这里的user_name改成本身的用户名 sudo chmod 777 -R /usr/local/cuda/include #对复制后的文件解除权限 echo "copy lib* to usr/local/cuda/lib64" sudo cp /home/user_name/cudnn6/lib64/lib* /usr/local/cuda/lib64 #同上 sudo chmod 777 -R /usr/local/cuda/lib64 #同上 sudo ldconfig #对全部的复制和解除权限操做执行生效
而后保存setupcudnn.sh文件的内容,并执行下面的命令进行安装:
sudo bash setupcudnn.sh #执行setupcudnn.sh脚本中的命令,安装cudnn
注意:这里将安装命令写成脚本文件的好处是,后面若是要进行其余cudnn版本的安装,只要稍加修改这个脚本,而后运行就能够迅速完成安装。例如要安装cudnn7版本,下载cudnn7,解压文件重命名为cudnn7,把脚本文件里的cudnn6修改成cudnn7,而后执行sudo bash setupcudnn.sh 就完成了安装。
opencv的下载
下载地址https://opencv.org/releases.html
选择3.1.0版本sources下载,解压到/home根目录下,文件夹重命名为opencv
opencv的安装
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
opencv/cmake
目录下,找到OpenCVDetectCUDA.cmake
文件并打开,定位到21行,修改set(HAVE_CUDA 1)
为set(HAVE_CUDA 0)
。sudo make install
出现以下的错误信息。nvcc warning : The 'compute_20', 'compute_20','sm_21' architectures are deprecated
备注:出现上面的错误信息的缘由是使用CUDA配置opencv引发的。将HAVE_CUDA 设为0以后,在后面的编译过程当中就会关闭CUDA,解决这个问题。
进入到opencv
目录下,找到CMakeList.txt
文件并打开,定位到176,177行,将ON
改成OFF
。
opencv
目录下新建build
文件夹。cd build #进入到build文件夹 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. #开始编译 make -j8 sudo make install -j8
执行完上面的命令就完成了opencv的安装,执行下面的命令测试是否安装成功,若是不出现报错信息就说明安装成功。
python import cv2
备注:
错误1: fata error: LAPACKE_H_PATH-NOTFOUND when building OpenCV 3.1
解决办法:sudo apt-get install liblapacke-dev checkinstall
在安装的过程当中可能还会还会出现其余各类各样的错误信息,这就靠本身依靠网络资源寻找解决方案了。通常从报错的信息提示入手,不断的卸载,安装,不断的尝试不一样的方法,问题都会解决的。
小技巧:
sudo find / -iname "*opencv*
查找opencv安装路径,把*opencv*
替换成*lib*
就能够查找缺失的某个库文件,从而为解决问题寻找思路。/usr/lib/,/usr/bin/,/usr/share/,/usr/include/,/usr/include
删除含有OpenCV的文件夹便可。darknet的安装
yolov3是在darknet平台上实现的,darknet安装教程按照官网步骤就能够了,官网连接https://pjreddie.com/darknet/install/
git clone https://github.com/pjreddie/darknet.git #从github上下载darknet安装包
MakeFile
配置备注
这里的ARCH= -gencode arch=compute_61,code=[sm_61,compute_61]
根据本身的GPU型号的计算能力进行设置,能够经过下面连接查找GPU的计算能力。GTX1080Ti的计算能力是6.1,因此设置为61,其余型号的对照修改吧。
https://developer.nvidia.com/cuda-gpus
darknet
目录下,执行make -j8
darknet
目录下,执行wget https://pjreddie.com/media/files/yolov3.weights #下载权重文件 ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg #使用下载的权重文件进行图片检测
运行成功后会出现下面的图片,并在darknet
目录下生成predictions.png
文件
至此教程结束。