yolov3-tiny(yolov3)训练自己的数据集(一):DarkNet + Ubuntu16.04 + GPU + OpenCV3.4.0 配置篇

1. 配置显卡驱动、cuda 和 cudnn

这里的显卡是RTX2070,首先需要确保自己的NVIDIA显卡已经安装了相应的驱动,cuda ,和cudnn 。

  • NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用,CUDA本质上是一个工具包(ToolKit)。
  • NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系,也不是一 一对应的关系,即每一个版本的显卡驱动可能有好几个版本的CUDA与之对应。
  • cuDNN是一个SDK,是一个专门用于神经网络的加速包,cuDNN跟CUDA也不是一 一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应。

1.1 查看显卡驱动是否安装:

nvidia-smi

在这里插入图片描述
显卡驱动已有不用安装了

1.2 查看cuda版本:

nvcc -V

在这里插入图片描述
提示没有安装(其实通过Anaconda安装的虚拟环境有cuda)。
上面看到显卡驱动版本是430,可以安装cuda10.1,从下图中查看适合自己的cuda版本。
在这里插入图片描述

到官网下载cuda:
https://developer.nvidia.com/cuda-downloads

或者命令行安装:

wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run

sudo sh cuda_10.1.243_418.87.00_linux.run

在这里插入图片描述

在这里插入图片描述
下载还是挺快的,执行一下安装命令,选择accept,enter键按一下继续
在这里插入图片描述
等几秒钟跳出安装选项,enter一下去掉第项driver中X,不安装它,其它默认,下滑到Install,enter确认安装
在这里插入图片描述
在这里插入图片描述
等待安装完成,完成后如下提示
在这里插入图片描述
根据提示添加环境变量
在这里插入图片描述
打开

sudo nano ~/.bashrc 

在文件末尾添加以下环境变量:

export PATH=$PATH:/usr/local/cuda-10.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1

ctrl+O,enter保存,ctrl+X退出,重新激活一下:

source ~/.bashrc

查看一下版本
在这里插入图片描述
可以看到是cuda10.1

1.3 查看cudnn 版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

提示没有存在
到官网下载对应版本的cudnn:https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述
下载后解压以后,输入以下命令:

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

在这里插入图片描述
查看一下版本是7.6.4

2. 配置DarkNet环境

2.1 安装opencv
  1. 根据自己情况下对应版本,到官网下载opencv: https://opencv.org/releases/
    这里用的是opencv3.4.0

  2. 还得下载opencv_contrib,地址:https://github.com/opencv/opencv_contrib/releases
    这里用的是opencv_contrib-3.4.0
    在这里插入图片描述
    创建一个文件加opecv,把这两个文件放进去并解压一下
    在这里插入图片描述
    在opencv-3.4.0文件夹下新建两个新的文件夹,分别为build和install

    mkdir build
    mkdir install
    

    在这里插入图片描述

  3. 接着安装一些依赖库

    sudo apt-get install build-essential cmake cmake-qt-gui git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    
    sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    
    sudo apt-get install libavcodec-dev libavformat-dev libv4l-dev liblapacke-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran ffmpeg
    
  4. 编译opencv3.4.0:
    打开cmake工具

    cd ~
    cmake-gui
    

    点击Browse Source...,选择opencv-3.4.0文件夹
    点击Browse Build...,选择刚刚在opencv-3.4.0文件夹里创建的空文件夹build
    点击左下角Configure
    在这里插入图片描述
    弹出选项框,不用更改,直接点击Finish
    在这里插入图片描述
    耐心等待
    在这里插入图片描述
    显示Configuring done后
    在这里插入图片描述
    在Search查找框中输入extra,找到OPENCV_EXTRA_MODULES_PATH设置路径为opencv_contrib-3.4.0里的modules文件夹
    在这里插入图片描述
    在搜索框输入install,找到CMAKE_INSTALL_PREFIX,更改一下默认路径,路径为刚刚创建的install文件夹(opencv-3.4.0里面),这是为了以后安装多个opencv版本,避免冲突
    在这里插入图片描述
    再次点击Configure开始配置,耐心等待直到显示Configuring done,然后再次点击Configure直到所有选项的红色状态消失了。
    在这里插入图片描述
    在这里插入图片描述

  5. 最后点击Generate
    在这里插入图片描述

  6. 退出cmake,进入opencv-3.4.0文件夹下的build目录
    输入:

       cd ~/Downloads/opencv/opencv-3.4.0/build
       make -j4
    

    在这里插入图片描述

  7. 报错:

    在这里插入图片描述

    "fatal error: dynlink_nvcuvid.h: No such file or directory compilation terminated"
    

    解决办法:
    ctrl + Alt +T 重新开个终端,再次打开cmake工具

    cmake-gui
    

    搜索cudacodec,找到”BUILD_opencv_cudacodec“项,把方框里的对号去掉。
    重新点击Configure,显示Configuring done后点击Generate

    在这里插入图片描述
    重新编译即可。
    在这里插入图片描述

    接着输入:

    make install
    

    等待安装完成。

  8. 进入opencv-3.4.0目录里install文件夹,将里面三个文件复制到usr/local/… 目录下
    在这里插入图片描述
    输入:

    cd ~/Downloads/opencv/opencv-3.4.0/install
    
    sudo cp -r include /usr/include/opencv3.4.0
    
    sudo cp -r lib /usr/lib/opencv3.4.0
    
    sudo cp -r bin /usr/bin/opencv3.4.0
    

    打开ld.so.conf文件

    sudo nano /etc/ld.so.conf
    

    添加一行变量:在这里插入图片描述/usr/lib/opencv3.4.0是opencv安装路径,也就是makefile中指定的安装路径
    保存一下,运行sudo ldconfig
    接着,修改bash.bashrc文件:

    sudo nano /etc/bash.bashrc
    

    在文件末尾加入:

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/opencv3.4.0/pkgconfig
    export PKG_CONFIG_PATH
    

    在这里插入图片描述
    激活一下: source /etc/bash.bashrc

  9. 查看opencv版本

    pkg-config --modversion opencv
    

    在这里插入图片描述
    至此,opencv配置完成。

2.2 DarkNet编译测试

下载DarkNet框架:

git clone https://github.com/pjreddie/darknet
cd darknet
make

darkne文件夹里的 Makefile文件默认 是使用 CPU,
用GPU要修改一下:

GPU=1    # 是否打开GPU
CUDNN=1   # 是否打开cudnn
OPENCV=0  # 是否打开opencv

修改后保存,每次修改记得重新编译一下

make clean
make

下载预训练模型权重yolov3.weights来做一下测试
下载地址:

wget https://pjreddie.com/media/files/yolov3.weights

测试一张图片:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

#或者
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg

在这里插入图片描述
测试完成。
未完待续~

Reference:
https://www.cnblogs.com/WushiShengFei/p/10002502.html
https://blog.csdn.net/wanzhen4330/article/details/81699769
https://pjreddie.com/darknet/yolo/

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

圆滚熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值