QUICK_STARTED_cn.md 2.6 KB
Newer Older
F
Feng Ni 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
# 快速开始
为了使得用户能够在很短时间内快速产出模型,掌握PaddleDetection的使用方式,这篇教程通过一个预训练检测模型对小数据集进行finetune。在较短时间内即可产出一个效果不错的模型。实际业务中,建议用户根据需要选择合适模型配置文件进行适配。

- **设置显卡**
```bash
export CUDA_VISIBLE_DEVICES=0
```

## 一、快速体验
```
# 用PP-YOLO算法在COCO数据集上预训练模型预测一张图片
python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/dygraph/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=demo/000000014439.jpg
```
14

F
Feng Ni 已提交
15 16
结果如下图:

F
Feng Ni 已提交
17
![demo image](../images/000000014439.jpg)
F
Feng Ni 已提交
18 19 20 21 22 23 24 25 26 27 28


## 二、准备数据
数据集参考[Kaggle数据集](https://www.kaggle.com/andrewmvd/road-sign-detection) ,包含877张图像,数据类别4类:crosswalk,speedlimit,stop,trafficlight。
将数据划分为训练集701张图和测试集176张图,[下载链接](https://paddlemodels.bj.bcebos.com/object_detection/roadsign_voc.tar).

```
# 注意:可跳过这步下载,后面训练会自动下载
python dataset/roadsign_voc/download_roadsign_voc.py
```

29

F
Feng Ni 已提交
30 31 32
## 三、训练、评估、预测
### 1、训练
```
33
# 边训练边测试 CPU需要约1小时(use_gpu=false),1080Ti GPU需要约10分钟
F
Feng Ni 已提交
34
# -c 参数表示指定使用哪个配置文件
35 36
# -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置),这里设置使用gpu
# --eval 参数表示边训练边评估,最后会自动保存一个名为model_final.pdparams的模型
F
Feng Ni 已提交
37 38 39 40 41 42 43

python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval -o use_gpu=true --weight_type finetune
```


### 2、评估
```
44
# 评估 默认使用训练过程中保存的model_final.pdparams
F
Feng Ni 已提交
45
# -c 参数表示指定使用哪个配置文件
46 47
# -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置)
# 目前只支持单卡评估
F
Feng Ni 已提交
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

python tools/eval.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true
```


### 3、预测
```
# -c 参数表示指定使用哪个配置文件
# -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置)
# --infer_img 参数指定预测图像路径
# 预测结束后会在output文件夹中生成一张画有预测结果的同名图像

python tools/infer.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true --infer_img=demo/road554.png
```

结果如下图:

F
Feng Ni 已提交
65
![road554 image](../images/road554.png)