本文不涉及对Yolov3的理解,仅讲解如何跑通程序。
针对开源项目PyTorch-YOLOv3,适合新手看
环境:Win10+CUDA10.0+python3.6(后来因为另一个项目重装了CUDA10.2也能跑)
原来的实现是在Linux环境,搬到win10有一些问题。不过问题不大。
下面按照作者的说明顺序来讲解。过程中需要下载的大文件我放在了百度网盘,需要的同学可以自取。提取码在文末。
git clone https://github.com/eriklindernoren/PyTorch-YOLOv3
首先很多人win10的命令行窗口没有git指令,两种方法,要么直接download下来,要么自己装一个git for windows,建议后者,因为同时还能下载到bash等指令,都会常用的。
cd PyTorch-YOLOv3/
pip install -r requirements.txt
win10下不需要sudo,也不用pip3。
安装requirements里的东西时可能因为网络波动一片红,出现那种情况就一步一步的pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx(使用国内源)。每个库的版本,还有点说法的,主要是TensorFlow的版本影响比较大(1.x和2.x版本差的挺多)。最终的环境配置是这样的。
框起来的是版本比较重要的,当然并不是说其他的版本不可以。实际上并不是所有的库都用到了,大家在配环境的时候就按着教程来,不需要把我列出来的都一一对应。
预训练权重的下载,有了它就可以直接检测啦(只能检测数据集中有的类别)。
cd weights/
bash download_weights.sh
这里的bash指令就体现出刚刚装git
的方便性了。不过看一下.sh
文件中的内容,三句wget -c ...
的下载指令,这个win10也是没有的,下载安装一下GNU wget,按照方法一步步来就行。
装好了之后,可以继续执行bash指令,也可以把那三句wget依次执行。下载好权重得到的是这样的文件结构
数据集的下载,使用的COCO数据集是常用于目标分类的数据集。
cd data/
bash get_coco_dataset.sh
和刚刚的过程类似,看一下内部的代码。可以直接执行指令,如果中途出错,可能是网络波动导致下载失败或者win10没有这个指令等。新手建议按下面的讲解一步步来,也方便理解。
# Clone COCO API
git clone https://github.com/pdollar/coco
cd coco
mkdir images
cd images
# Download Images
wget -c https://pjreddie.com/media/files/train2014.zip
wget -c https://pjreddie.com/media/files/val2014.zip
# Unzip
unzip -q train2014.zip
unzip -q val2014.zip
cd ..
# Download COCO Metadata
wget -c https://pjreddie.com/media/files/instances_train-val2014.zip
wget -c https://pjreddie.com/media/files/coco/5k.part
wget -c https://pjreddie.com/media/files/coco/trainvalno5k.part
wget -c https://pjreddie.com/media/files/coco/labels.tgz
tar xzf labels.tgz
unzip -q instances_train-val2014.zip
# Set Up Image Lists
paste <(awk "{print \"$PWD\"}" <5k.part) 5k.part | tr -d '\t' > 5k.txt
paste <(awk "{print \"$PWD\"}" <trainvalno5k.part) trainvalno5k.part | tr -d '\t' > trainvalno5k.txt
依次来看,首先下载coco项目文件,这个没啥,如果嫌他下载慢的话可以先把git项目导入gitee再clone,或者之间download,注意coco文件夹最终应该在data目录下,且名字一定要是coco。
然后mkdir是linux下创建目录的指令,我们直接在coco目录下新建文件夹images,这个文件夹是用来放训练集和验证集的。然后紧接着两个wget下载指令就是分别下载训练集和验证集,两个压缩包都很大,下载很久,不方便下载的同学可以用我开头放的百度网盘链接。下载完之后要解压,大家可以直接用解压软件一键解压。
接下来返回了coco目录,四个wget又在下载,这回是一些标签数据,Metadata。不再多说,下载完解压,针对不同格式的压缩包用了两种解压指令,都可以直接用解压软件。
最后两个指令需要注意下,他们是来提取训练集和验证集的信息的(路径、文件名)。我没找到win10对应的解决方法,后来参考在COCO 数据集上训练YOLOv3模型和在Windows中安装Ubuntu子系统。hhh还有这种操作是我没想到的。
进去后cd到刚刚的coco目录,执行两句paste即可。但是有个问题,这里得到的信息格式是在ubuntu下的路径格式,要改成win10下的路径,因为都是txt文件,很容易用替换功能编辑一下。最终是这样的:
这样下载任务就大功告成了。
这是在COCO数据集上做评估
python test.py --weights_path weights/yolov3.weights
直观地对图片做检测。可以直接检测自己的图片。
python detect.py --image_folder data/samples/
自己体验训练的过程
python train.py --data_config config/coco.data --pretrained_weights weights/darknet53.conv.74
终端信息闪太快就不放图了,放一张GPU开始工作的图。
以上就是基本的调程序过程,后面有时间会针对Yolov3的理解,训练自己的检测器等再另外写博客。
提取码:6tvr。点个赞呗。