前言
YOLO是也是深度学习的一种,它的特点就是速度非常快。以前前前后后在Ubuntu上配置过yolo两次,都快忘了,最近在又配置了一下YOLO,记录一下过程以及遇到的问题。
其实YOLO的安装比较简单,也已参考官网的安装步骤:https://pjreddie.com/darknet/install/
过程
基本过程
- 从github上下载darknet,也就是YOLO
git clone https://github.com/pjreddie/darknet.git
- 编译
cd darknet
make
- 运行测试
./darknet
若出现usage: ./darknet ,说明编译成功。
- 运行实例
下载权重文件: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
-
关于CUDA和OpenCV的配置,可以参考我的另一篇博客:
https://blog.csdn.net/qq_36327203/article/details/79372152 -
重新编译
安装好CUDA和OpenCV后,修改darknet/Makefile文件:安装好CUDA和OpenCV后,修改darknet/Makefile文件:
GPU=1
CUDNN=1
OPENCV=1
重新编译:
make clean
make
- 遇到的问题以及解决办法:
重新执行:
./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
微信公众号,扫二维码即可关注: