本文基于anaconda python3.8.5环境搭建
关于环境的安装参考
下载环境
首先下载pytorch yolov3的推理和训练开发环境
git clone https://github.com/ultralytics/yolov3
我们在默认的主分支上耍
安装依赖包
执行:
pip install -r ./requirements.txt
有几个比较大的包,比如torch,opencv等需要花比较长的时间安装。
根据仓库提供的介绍, ultralytics/yolov3 仓库包含两个主要分支,master分支前向兼容yolov5模型算法,是它官方推荐的使用分支,而另一个archive分支后向兼容老的backward darknet 格式的模型文件,并且此分支不在维护,所以不推荐使用。
既然如此,我们使用master分支。
推理
目录中的detect.py
执行推理过程,并将结果保存在runs/detect目录下
输入命令
python detect.py --source data/images --weights yolov3.pt --conf 0.25
进行推理,此命令首先会从以下地址下载权重文件
https://github.com/ultralytics/yolov3/releases/download/v9.5.0/yolov3.pt
如果环境本身的下载过程比较慢,你也可以用迅雷等快一些的下载工具下载过来,在放入目录,此后执行命令检测到文件存在,则会PASS调下载环节。
命令成功执行后,显示如下:
根据输出,我们知道模型从bus.jpg和zidane.jpg中得到了检测结果
image 1/2 /home/caozilong/Workspace/yolov3/data/images/bus.jpg: 640x480 4 persons, 1 bus, Done. (0.490s)
image 2/2 /home/caozilong/Workspace/yolov3/data/images/zidane.jpg: 384x640 2 persons, 3 ties, Done. (0.385s)
并将检测结果放在了run/detect/exp18目录下
训练:
执行命令
python train.py --data coco.yaml --cfg yolov3.yaml --weights '' --batch-size 24
开始进行训练
这是在另一个PC下搭建环境的推理结果:
对比上面两幅图可以看出,他们的推理结论完全相同,这说明同一个模型在同样的权重配置下,结果是确定的。