pytorch-yolo2-master运行日志

来源:互联网 发布:淘宝图片抓取工具 编辑:程序博客网 时间:2024/06/03 18:40

github地址
longcw版本代码

1 首先用Pre-Trained Model做检测,测试模型

$wget http://pjreddie.com/media/files/yolo.weights
$python detect.py cfg/yolo.cfg yolo.weights data/dog.jpg

得到如下输出:

layer     filters    size              input                output    0 conv     32  3 x 3 / 1   416 x 416 x   3   ->   416 x 416 x  32    1 max          2 x 2 / 2   416 x 416 x  32   ->   208 x 208 x  32    ......   30 conv    425  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 425   31 detectionLoading weights from yolo.weights... Done!data/dog.jpg: Predicted in 0.014079 seconds.truck: 0.934711bicycle: 0.998013dog: 0.990524

2 将自己的数据制作成VOC格式

在pytorch-yolo2-master文件下新建VOCdevkit文件夹:
VOCdevkit
|VOC2007
|Annotations
|ImageSets
|JPEGImages
|lables

3 制作VOC lables

$ wget http://pjreddie.com/media/files/voc_label.py
这一步会在pytorch-yolo2-master中生成2007_test.txt等文件
pythonvoclabel.py2007test.txtvoctrain.txtcat 2007_train.txt 2007_val.txt 2012_*.txt > voc_train.txt

4 修改cfg

根据data/voc.names生成自己的数据集的your.names
在cfg/voc.data中将names = data/voc.names换成names = data/your.names

train = train.txt
valid = 2007_test.txt
names = data/voc.names
backup = backup
gpus = 0,1,2,3 ###可以设置GPU

cfg/yolo-voc.cfg中是网络的运行参数,以及网络结构文件:
可以新建cfg/gesture.cfg,最后面的:classes=20修改为自己的类别数

5 下载Pretrained Convolutional Weights

wget http://pjreddie.com/media/files/darknet19_448.conv.23

6 训练Model

python train.py cfg/voc.data cfg/yolo-voc.cfg darknet19_448.conv.23

7 遇到的问题

1. NAN

跑到一半loss突然跑飞了,那就说明学习率设置的太大了,可以慢慢调小。
最好也使用warm up,也就是一开始使用很小的学习率:
base_lr: 0.001
step: -1, 500,20000,40000
scales=0.1,10,.1,.1
则前500次迭代会使用0.0001的学习率,之后才变回0.001的学习率。

8 待解决的问题

1. 结合Focal loss

初步猜想:直接将region_loss.py中中对分类的损失从nn.CrossEntropyLoss换成Focal_loss

2. 准确率不如darknet的版本

正在调整合适的学习率

原创粉丝点击