Ubuntu16.04+YOLOv3配置

前言

YOLO是也是深度学习的一种,它的特点就是速度非常快。以前前前后后在Ubuntu上配置过yolo两次,都快忘了,最近在又配置了一下YOLO,记录一下过程以及遇到的问题。
其实YOLO的安装比较简单,也已参考官网的安装步骤:https://pjreddie.com/darknet/install/

过程

基本过程

  1. 从github上下载darknet,也就是YOLO
git clone https://github.com/pjreddie/darknet.git
  1. 编译
cd darknet
make
  1. 运行测试
./darknet

若出现usage: ./darknet ,说明编译成功。

  1. 运行实例

下载权重文件:yolov3.weights,链接:https://pjreddie.com/media/files/yolov3.weights
下载好后,将yolov3.weights复制到darknet目录下。

输入命令:

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

执行结束后,会在darknet目录下生成一副图片,即为检测结果。

带CUDA和OpenCV

  1. 关于CUDA和OpenCV的配置,可以参考我的另一篇博客:
    https://blog.csdn.net/qq_36327203/article/details/79372152

  2. 重新编译
    安装好CUDA和OpenCV后,修改darknet/Makefile文件:安装好CUDA和OpenCV后,修改darknet/Makefile文件:

GPU=1
CUDNN=1
OPENCV=1

重新编译:

make clean
make
  1. 遇到的问题以及解决办法:
    重新执行:
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

问题1:

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

解决方法:

libcudart.so.8.0 不能找到 在/etc/ld.so.conf.d 创建了一个cuda.conf
文件,并加入/usr/local/cuda/lib64 内容,保存退出。 最后执行:sudo ldconfig 使文件生效

问题2:

CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error:
Assertion `0’ failed.

解决方法:
出现这问题的原因就是GPU内存不够大,解决方法就是减小内存的使用:
修改cfg/yolov3.cfg,修改如下:

[net]
# Testing
batch=1					//取消注释
subdivisions=1			//取消注释
# Training				
# batch=64				//添加注释
# subdivisions=16		//添加注释
width=416				//适当减小width
height=416				//适当减小height

之后再运行,就不会出现问题了。

总结

深度学习这块,概念比较多,想要研究这方面,首先得对深度学习方面的概念了解,之后才能有更深的理解。

QQ:1570553025
github:https://github.com/myzcl
微信公众号,扫二维码即可关注:
在这里插入图片描述

你可能感兴趣的:(C/C++,Linux)