在./config/runtime.yml的use_gpu的false改为ture。就这么简单。。。
背景是这样的:
之前的机子重装了下系统,结果发现默认成cpu跑,voc要跑个六十多天。。。
之前在网上paddle官网查到的方法是在./tools/train.py里将use_gpu改为ture,但是试了之后发现不行,后来以为缺少cudnn,没法调用gpu,就去装cudnn,后来学长又推荐直接docker一步到位,就想着熟悉一下也挺好,结果忙了半天,两边都是因为没法解决的error放弃了。。。。
还是要多熟悉结构啊
paddle版本 paddlepaddle-gpu 2.3.2.post101
依赖项
voc.yml:定义训练数据的路径
runtime.yml:定义公共参数
optimizer_270e.yml:定义优化器的策略
yolov3_mobilenet_v1.yml:定义模型和主干网络
yolov3_reader.yml:定义数据预处理方式
GPU单卡训练
export CUDA_VISIBLE_DEVICES=0
python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml
训练过程中断resume一次
python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml -r /home/xianyun/wst/PaddleYOLO/output/yolov3_mobilenet_v1_270e_voc/209 --eval --use_vdl True
评估
python tools/eval.py -c configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml -o weights=/home/xianyun/wst/PaddleYOLO/output/yolov3_mobilenet_v1_270e_voc/model_final.pdparams
结果
[03/08 15:23:05] ppdet.metrics.metrics INFO: mAP(0.50, 11point) = 77.33%
[03/08 15:23:05] ppdet.engine INFO: Total sample number: 4952, average FPS: 62.73459361840479
官方指标 输入尺寸 每张GPU图片个数
MobileNet-V1 608 8 270e - 75.2
MobileNet-V1 416 8 270e - 76.2
MobileNet-V1 320 8 270e - 74.3
[32,32], [45, 22], [22, 45],
[64,64], [90,45], [45, 90],
[128,128], [181,90], [90,181]
[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]
改动后结果:
[04/04 16:14:23] ppdet.metrics.metrics INFO: mAP(0.50, 11point) = 75.00%
[04/04 16:14:23] ppdet.engine INFO: Total sample number: 4952, average FPS: 40.53703456706152
装机后结果:
[07/05 13:29:23] ppdet.metrics.metrics INFO: mAP(0.50, 11point) = 77.03%
[07/05 13:29:23] ppdet.engine INFO: Total sample number: 4952, average FPS: 37.484806356520785