ubuntu18.04 Yolo目标检测 darknet环境搭建

Yolo训练环境搭建

目录

Yolo训练环境搭建

(一)GPU环境安装

1) 安装NVIDIA显卡驱动

2 )安装 cudn10.0和 cudnn  v7.6.5.32

(二) opencv和opencv_contrib安装

(三)darknet安装


(一)GPU环境安装

1) 安装NVIDIA显卡驱动

a)使用Ubuntu软件仓库中的稳定版本安装

具体方法为:
在终端输入:

ubuntu-drivers devices

得到有关本机显卡其驱动的相关信息


可以看到推荐的版本号是:nvidia-driver-470

终端输入

sudo ubuntu-drivers autoinstall    ##自动安装推荐版本 
sudo apt install nvidia-xxx    ##安装指定版本
sudo apt-get remove nvidia-*    ##卸载显卡驱动

 安装完成后终端输入

nvidia-smi 

测试有没有安装成功,如果出现如下输出即为安装成功。
 


!!!我这里不知道啥原因不显示占用率和进程,有知道的伙伴可以留言,十分感谢!!!

显卡驱动下载     NVIDIA官网

GPU驱动历史版本下载:Index of /XFree86/Linux-x86_64

 依照对照表,安装对应以上版本

注意事项

1)NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.    在驱动使用过程中,nvidia-smi失效 

解决方法:

sudo apt-get install dkms
sudo dkms install -m nvidia -v 410.48    ##410.48是nvidia版本号,需要根据自己的修改。进入/usr/src目录,找到前缀为nvidia文件夹,其附带的就是版本号。

 2 )安装 cudn10.0和 cudnn  v7.6.5.32

  a)安装cudn

下载cuda    Cuda10.0

官网对应文档

对应下载路径下打开终端输入:

sudo sh cuda_10.0.130_410.48_linux.run

然后一直回车键,直到服务条款显示到100%。接着按下面的步骤选择:

accept

n(不要安装driver)

y

y

y

安装完成后,设置环境变量。

终端输入

sudo gedit ~/.bashrc

在文本末添加下面三行

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

保存推出

source ~/.bashrc

检查:

nvcc --version/
nvcc -V

如果显示下面的文子就说明安装成功

b)安装cudnn

cuDNN下载:cuDNN 

 

解压

解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:

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*

验证测试

sudo  dpkg  -i libcudnn7_7.6.5.32-1+cuda10.0_amd64.deb
sudo  dpkg  -i libcudnn7-dev_7.6.5.32-1+cuda10.0_amd64.deb
sudo  dpkg  -i libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

​ 测试通过

查看cudnn版本

在终端输入

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

(二) opencv和opencv_contrib安装

下载opencv和opencv_contrib

opencv下载:opencv官网

opencv_contrib下载:GitHub或者

git clone https://github.com/opencv/opencv_contrib.git/
git clone git@github.com:opencv/opencv_contrib.git

 首先卸载系统自带的opencv

sudo apt-get purge libopencv*
sudo apt-get purge python-numpy
sudo apt autoremove

更新安装的包和库

sudo apt-get update
sudo apt-get dist-upgrade 

安装依赖

sudo apt-get update
sudo apt-get upgrade
//依赖包
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libavutil-dev 
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  
sudo apt-get install qt5-default ccache libv4l-dev libavresample-dev  libgphoto2-dev libopenblas-base libopenblas-dev doxygen  openjdk-8-jdk pylint libvtk6-dev
sudo apt-get install pkg-config

安装opencv和opencv_contrib,我下载的是3.4.5版本,先解压下载的opencv和opencv_contrib包,建议直接将下载下来的包直接放至home地址下,zip格式的解压代码如下:

sudo unzip opencv-3.4.5.zip
sudo unzip opencv_contrib-3.4.5.zip

tar.gz格式的解压代码如下:

sudo tar zxvf opencv_contrib-3.4.5.tar.gz

然后将解压后的contrib文件移动至opencv-3.4.5文件下

sudo cp -r opencv_contrib-3.4.5 opencv-3.4.5

并在opencv-3.4.5文件夹中新建build文件夹用于后续编译和生成

修改路径

sudo gedit /home/pan/opencv-3.4.5/3rdparty/ippicv/ippicv.cmake
##"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"    修改为绝对路径"/home/pan/opencv-3.4.5/3rdparty/ippicv/"    避免ippicv下载报错

编译

cd opencv-3.4.5
sudo mkdir build
cd build
cmake .. -DWITH_QT=ON -DBUILD_TIFF=ON -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local   
sudo make -j16

编译ok,下面安装

sudo make install

配置环境变量
打开编辑文件

sudo gedit /etc/ld.so.conf.d/opencv.conf

在空白文档中添加

/usr/local/lib

接下来配置库

sudo ldconfig

更改环境变量

sudo gedit /etc/bash.bashrc

在文件的最后添加

export PKG_CONFIG_PATH=/usr/local/opencv/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv/lib

 注意事项

1)linux/videodev.h: 没有那个文件或目录
解决办法:

sudo apt-get install libv4l-dev
sudo ln -s /usr/include/libvl1-videodev.h /usr/include/linux/videodev.h(如果还是不行就删除之后在执行这句)

2)sys/videodev.h: 没有那个文件或目录
解决办法:

sudo cp /usr/include/opencv2/videoio/videoio_c.h /usr/include/x86_64-linux-gnu/sys
sudo ln -s /usr/include/x86_64-linux-gnu/sys/videoio_c.h /usr/include/x86_64-linux-gnu/sys/videoio.h

3)fatal error: boostdesc_bgm.i: 没有那个文件或目录

缺少文件

https://pan.baidu.com/s/1RAgY08JuroC5w8aGPm9WQw    提取码:pan0

test_detectors_invariance.impl.hpp复制到opencv_contrib/modules/xfeatures2d/test/ 

4)类似这种fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录 include “opencv2/xfeatures2d/cuda.hpp”

解决办法:

sudo gedit cuda.hpp    ##cuda.hpp路径改为绝对路径

(三)darknet安装

克隆darknet到本地
同样在桌面右击,选择打开终端。
或者直接按CtrlAltT快捷键调出终端。
输入:

git clone https://github.com/AlexeyAB/darknet.git
# 从github上克隆源代码 cd darknet # 切换到darknetr的这个目录

修改Makefile
注意,现在是在darknet的这个目录下!
在这个目录下,右击文件管理器的空白出,选择打开终端。
输入:

cp Makefile Makefile.bak     # 备份Makefile文件
gedit Makefile                 # 编辑Makefile文件

由于Jetpack已经安装好了CUDA、cuDNN和OpenCV,所以将Makefile前三行的内容修改为如下:

GPU=1        # 使用GPU进行编译
UDNN=1        # 使用cudnn进行编译
OPENCV=1     # 使用opencv进行编译
LIBSO=1        # 生成动态链接库

保存退出。

编译darknet
注意,现在是在darknet的这个目录下!
在这个目录下,右击文件管理器的空白处,选择打开终端。

make -j4        # 使用4个线程编译darknet

测试

./darknet imtest data/eagle.jpg        # 测试OpenCV demo

如果出现几副动态的的老鹰的,那就说明darknet编译成功

大功告成

注意事项

./darknet: error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory

解决方法:

sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig
sudo cp /usr/local/cuda-10.0/lib64/libcublas.so.10.0 /usr/local/lib/libcublas.so.10.0 && sudo ldconfig
sudo cp /usr/local/cuda-10.0/lib64/libcurand.so.10.0 /usr/local/lib/libcurand.so.10.0 && sudo ldconfig


 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值