YOLOv4 Ubuntu 使用
本文将介绍 YOLOv4 官方 Darknet 实现,如何于 Ubuntu 18.04 编译,及使用 Python 接口。
主要内容有:
- 准备基础环境: Nvidia Driver, CUDA, cuDNN, CMake, Python
- 编译应用环境: OpenCV, Darknet
- 用预训练模型进行推断:
darknet
执行,或python
而 YOLOv4 的介绍或训练,可见《YOLOv4 Docker 使用》。
#
准备基础环境#
Nvidia Driver推荐使用 graphics drivers PPA 安装 Nvidia 驱动:
查看推荐的 Nvidia 显卡驱动:
安装 Nvidia 驱动:
之后, sudo reboot
重启。运行 nvidia-smi
查看 Nvidia 驱动信息。
#
Nvidia CUDA Toolkit获取地址:
- CUDA Toolkit Archive: https://developer.nvidia.com/cuda-toolkit-archive
建议选择 CUDA 10.2 ,为目前 PyTorch 可支持的最新版本。
下载安装:
注意:安装时,请手动取消驱动安装选项。
安装输出:
添加环境变量:
重启终端后,检查:
#
Nvida cuDNN获取地址:
- cuDNN Download: https://developer.nvidia.com/rdp/cudnn-download
需选择 CUDA 10.2 对应的版本。
安装 deb 包:
查看 deb 包:
#
CMake下载安装:
添加环境变量:
说明: apt 源的 cmake 太旧, darknet 编译不过。
#
Python获取地址:
- Anaconda: https://www.anaconda.com/distribution/
Python 建议用 Anaconda 发行版。
安装命令:
#
编译应用环境#
OpenCV 4.4.0安装依赖:
编译命令:
其中 Python 路径请对应自己安装的版本。
运行检查:
#
问题: libfontconfig.so.1解决办法:
#
问题: libpangoft2-1.0.so.0解决办法:
#
Darknet编译命令:
运行检查:
#
用预训练模型进行推断#
准备模型与数据预训练模型 yolov4.weights ,下载地址 https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights 。
可以准备 MS COCO 数据集,下载地址 http://cocodataset.org/#download 。或者自己找个图片。
darknet
执行#
推断结果:
python
执行#
Darknet 于其根目录,提供有 Python 接口。如下执行:
推断结果,如前一小节。