配置文件在configs文件夹下,包含了基本上所有常见模型的配置文件
以yolov3_mobilenet_v1_roadsign.yml为例
_BASE_: [
'../datasets/roadsign_voc.yml',
'../runtime.yml',
'_base_/optimizer_40e.yml',
'_base_/yolov3_mobilenet_v1.yml',
'_base_/yolov3_reader.yml',
]
因为我使用的是cpu,所以只需要将configs/runtime.yml中use_gpu: 改成 false

然后使用命令行进行训练
python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml

到这就已经开始简单的训练了!
【参考文档】30分钟快速上手PaddleDetection
下面是我voc类型数据集的结构

至于label_list.txt,train.txt,val.txt不用多管,这部分是后面生成的。
你需要做的就是
import random
import os
#生成train.txt和val.txt
random.seed(2020)
#---------------------修改为自己的路径----------------------------------------------------
xml_dir = 'D:/computervision/PaddleDetection-release-2.5/dataset/number/annotations'#标签文件地址
img_dir = 'D:/computervision/PaddleDetection-release-2.5/dataset/number/images'#图像文件地址
#---------------------修改为自己的路径----------------------------------------------------
path_list = list()
for img in os.listdir(img_dir):
img_path = os.path.join(img_dir,img)
xml_path = os.path.join(xml_dir,img.replace('jpg', 'xml'))
path_list.append((img_path, xml_path))
random.shuffle(path_list)
ratio = 0.9
#---------------------train/val之前修改为自己的路径----------------------------------------------------
train_f = open('D:/computervision/PaddleDetection-release-2.5/dataset/number/train.txt','w') #生成训练文件
val_f = open('D:/computervision/PaddleDetection-release-2.5/dataset/number/val.txt' ,'w')#生成验证文件
#---------------------修改为自己的路径----------------------------------------------------
for i ,content in enumerate(path_list):
img, xml = content
text = img + ' ' + xml + '\n'
if i < len(path_list) * ratio:
train_f.write(text)
else:
val_f.write(text)
train_f.close()
val_f.close()
#生成标签文档
label = ['number']#设置你想检测的类别
#---------------------label_list之前修改为自己的路径----------------------------------------------------
with open('D:/computervision/PaddleDetection-release-2.5/dataset/number/label_list.txt', 'w') as f:
# ---------------------label_list之前修改为自己的路径----------------------------------------------------
for text in label:
f.write(text+'\n')
这点是基于你已经选择好了想要使用的模型,我以我使用的ppyoloe为例:

配置文件就这么4个
接下来你要做的就是:
configs/datasets创建(或者是直接修改voc.yml文件)

最后的修改结果就是:
configs/ppyoloe/ppyoloe_crn_l_36e_coco_xpu.yml
贫困小孩用的是cpu,所以要改这个

configs/runtime.yml中还要修改以防万一
命令行开跑:
python tools/train.py -c configs/ppyoloe/ppyoloe_crn_l_36e_coco_xpu.yml

ppdet/core/workspace.py第78行修改为
with open(file_path, encoding='utf-8') as f:
修改后

cpu真的别来沾边,内存占用率最高到99%属实是有点绷不住
