PaddlePaddle Pyramidbox模型训练手册

参考文档:https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/face_detection

1数据准备
(示例:WIDERFACE官网下载数据和标注信息,训练使用训练集和验证集,训练集3.2w张
图片)推荐使用1w张以上指定场景640*640以上分辨率图片进行训练,所有图片需要预先
标注人脸信息并存于指定txt文档中,验证集使用训练集1/4数量,验证集应当使用同场景
的不同图片。
将准备好的标注数据按需要分类放于data目录如下:
data
|--download.sh
|--wider_face_split
||--readme.txt
||--wider_face_train_bbx_gt.txt
||--wider_face_val_bbx_gt.txt
|`--...
|--WIDER_train
|`--images
||--0--Parade
|...
|`--9--Press_Conference
`--WIDER_val
`--images
|--0--Parade
...
`--9--Press_Conference
2模型准备
下载caffe预训练模型,放置于数据目录:
wgethttp://paddlemodels.bj.bcebos.com/vgg_ilsvrc_16_fc_reduced.tar.gz
tar-xfvgg_ilsvrc_16_fc_reduced.tar.gz&&rm-fvgg_ilsvrc_16_fc_reduced.tar.gz
3开始训练
train.py是训练模块的主要执行程序,地址:
https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/face_detection
调用示例如下:
python-utrain.py--batch_size=16--pretrained_model=vgg_ilsvrc_16_fc_reduced
或者python3-utrain.py--batch_size=16--pretrained_model=vgg_ilsvrc_16_fc_reduced
在train.py文件中编辑训练参数:其中batch_size为一次计算的样本数量,在使用gpu训练
时设置为2的幂次方可以发挥最佳的性能,batch_size设置不能太大也不能太小,根据gpu
性能显卡内存越大可以设置更大的batch_size,计算时间会大幅缩短,通常设置为16,在使
用cpu进行训练时只能设为1-4根据CPU核数否则内存不够。GPU性能越好能使训练时间大
幅度缩短。实际工程中batch_size跑一个样本和几十个甚至上百个的时间是一样的(需要
GPU有相应的核心数)。
4注意项:
1)需要预先安装好paddlepaddle框架,按指定型号系统和机器安装相应包。参考网站:
https://www.paddlepaddle.org.cn/install/quick
2)reader.py中设置读取参数:data_dir数据路径等
3)reader.py中第154行Image.HAMMING属性不存在删除;同时修改
第157行为interp_indx=np.random.randint(0,4)
4)训练150轮左右可收敛,训练中观察loss函数,人脸和头部loss同时下降则收敛。可选
收敛后数个模型进行使用测试集进行精度比较。测试集应不包含训练集图片。
5)GPU必须使用nvidiaGPU支持CUDA,推荐使用nvidia1080或者208011G显存以上GPU
进行训练,否则使用CPU进行训练。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章