Buddling yolov4遇到的问题(已经划分好数据集之后)
数据集:
运行顺序
训练数据集
1.改cls_classes.txt里的类
2.运行voc_annotation.py。需要改:classes_path = ‘model_data/cls_classes.txt’,如果已经划分好数据集,则把annotation_mode修改成2,只生成2007_train.txt和2007_val.txt。没划分数据集就annotation_mode=0.
2007_train.txt和2007_val.txt必须在服务器上运行,里面是测试集和验证集绝对路径和标注信息。
运行voc_annotation.py后
3.运行 train.py 。代码中cuda需要改成True,T要大写
classes_path = ‘model_data/cls_classes.txt’
num_workers改成0(因为只有一块GPU)
Txt文件里是有标签的
train.py 中的数据集路径需要修改!否则就找不到
修改方法:在服务器终端 python voc_annotation.py 重新生成这两个文件(文件里是数据集的绝对路径)
运行中的问题:
pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt
Torch_vision在pip requirement.txt的时候不顺利,网慢,换阿里源豆瓣源,需要手动pip
其他按照readme执行就可以
预测步骤(predict.py和get_map.py可以在自己电脑上运行,需要更改yolo.py里,cuda=False)
b、使用自己训练的权重
1.按照训练步骤训练。
2.修改yolo.py文件。model_path对应logs文件夹下面的权值文件,classes_path是classes_path = ‘model_data/cls_classes.txt’。
3.运行predict.py。
需要更改测试的模式改为mode=”dir_predict”(默认为单张测试图片)
然后在yolov4-pytorch-master\VOCdevkit\VOC2007\ImageSets\Main的test.txt里的测试图片复制到img文件夹下。
评估自己的数据集(predict.py和get_map.py可以在自己电脑上运行,需要更改yolo.py里,cuda=False)
1.运行get_map.py。修改里面的classes_path路径(与训练的类别文件一致)classes_path = ‘model_data/cls_classes.txt’
2.在yolo.py里面修改model_path以及classes_path。model_path指向训练好的权值文件,在logs文件夹里。classes_path指向检测类别所对应的txt。
3.运行get_map.py即可获得评估结果,评估结果会保存在map_out文件夹中。