Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
c2bf0803
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c2bf0803
编写于
7月 28, 2020
作者:
K
Kaipeng Deng
提交者:
GitHub
7月 28, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[cherry-pick] add ppyolo_tiny (#1117)
* add ppyolo_tiny
上级
934266ff
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
17 addition
and
215 deletion
+17
-215
configs/ppyolo/README.md
configs/ppyolo/README.md
+17
-5
configs/ppyolo/ppyolo_lb.yml
configs/ppyolo/ppyolo_lb.yml
+0
-92
configs/ppyolo/ppyolo_reader_lb.yml
configs/ppyolo/ppyolo_reader_lb.yml
+0
-110
configs/ppyolo/ppyolo_tiny.yml
configs/ppyolo/ppyolo_tiny.yml
+0
-8
未找到文件。
configs/ppyolo/README.md
浏览文件 @
c2bf0803
...
...
@@ -32,20 +32,22 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度:
## 模型库
### PP-YOLO模型
| 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box AP | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | 模型下载 | 配置文件 |
|:------------------------:|:-------:|:-------------:|:----------:| :-------:| :----: | :------------: | :---------------------: | :------: | :------: |
| YOLOv4(AlexyAB) | - | - | CSPDarknet | 608 | 43.5 | 62 | 105.5 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml
)
|
| YOLOv4(AlexyAB) | - | - | CSPDarknet | 512 | 43.0 | 83 | 138.4 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml
)
|
| YOLOv4(AlexyAB) | - | - | CSPDarknet | 416 | 41.2 | 96 | 164.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml
)
|
| YOLOv4(AlexyAB) | - | - | CSPDarknet | 320 | 38.0 | 123 | 199.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml
)
|
| PP-YOLO | 8 | 24
| ResNet50vd | 608 | 45.2 | 72.9 | 155.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24
| ResNet50vd | 512 | 44.4 | 89.9 | 188.4 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24
| ResNet50vd | 416 | 42.5 | 109.1 | 215.4 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24
| ResNet50vd | 320 | 39.3 | 132.2 | 242.2 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 45.2 | 72.9 | 155.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 44.4 | 89.9 | 188.4 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.5 | 109.1 | 215.4 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 39.3 | 132.2 | 242.2 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml
)
|
**注意:**
-
PP-YOLO模型使用COCO数据集中train2017作为训练集,使用test-dev2017
左右测试集
。
-
PP-YOLO模型使用COCO数据集中train2017作为训练集,使用test-dev2017
作为测试集,
`Box AP`
为
`mAP(IoU=0.5:0.95)`
评估结果
。
-
PP-YOLO模型训练过程中使用8GPU,每GPU batch size为24进行训练,如训练GPU数和batch size不使用上述配置,须参考
[
FAQ
](
../../docs/FAQ.md
)
调整学习率和迭代次数。
-
PP-YOLO模型推理速度测试采用单卡V100,batch size=1进行测试,使用CUDA 10.2, CUDNN 7.5.1,TensorRT推理速度测试使用TensorRT 5.1.2.2。
-
PP-YOLO模型推理速度测试数据为使用
`tools/export_model.py`
脚本导出模型后,使用
`deploy/python/infer.py`
脚本中的
`--run_benchnark`
参数使用Paddle预测库进行推理速度benchmark测试结果, 且测试的均为不包含数据预处理和模型输出后处理(NMS)的数据(与
[
YOLOv4(AlexyAB)
](
https://github.com/AlexeyAB/darknet
)
测试方法一致)。
...
...
@@ -53,6 +55,16 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度:
-
YOLOv4(AlexyAB)模型精度和V100 FP32推理速度数据使用
[
YOLOv4 github库
](
https://github.com/AlexeyAB/darknet
)
提供的单卡V100上精度速度测试数据,V100 TensorRT FP16推理速度为使用[AlexyAB/darknet]库中tkDNN配置于单卡V100上的测试结果。
-
YOLOv4(AlexyAB)行
`模型下载`
和
`配置文件`
为PaddleDetection复现的YOLOv4模型,目前评估精度已对齐,支持finetune,训练精度对齐中,可参见
[
PaddleDetection YOLOv4 模型
](
../yolov4/README.md
)
### PP-YOLO tiny模型
| 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box AP | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | 模型下载 | 配置文件 |
|:------------------------:|:-------:|:-------------:|:----------:| :-------:| :----: | :------------: | :---------------------: | :------: | :------: |
| PP-YOLO tiny | 4 | 32 | ResNet18vd | 416 | 47.0 | 401.6 | 724.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_tiny.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_tiny.yml
)
|
| PP-YOLO tiny | 4 | 32 | ResNet18vd | 320 | 43.7 | 478.5 | 791.3 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_tiny.pdparams
)
|
[
配置文件
](
https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_tiny.yml
)
|
-
PP-YOLO tiny模型使用COCO数据集中train2017作为训练集,使用val2017作为测试集,
`Box AP`
为
`mAP(IoU=0.5)`
评估结果。
-
PP-YOLO tiny模型训练过程中使用4GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考
[
FAQ
](
../../docs/FAQ.md
)
调整学习率和迭代次数。
-
PP-YOLO tiny模型推理速度测试环境配置和测试方法与PP-YOLO模型一致。
## 使用说明
...
...
configs/ppyolo/ppyolo_lb.yml
已删除
100644 → 0
浏览文件 @
934266ff
architecture
:
YOLOv3
use_gpu
:
true
max_iters
:
250000
log_smooth_window
:
100
log_iter
:
100
save_dir
:
output
snapshot_iter
:
10000
metric
:
COCO
pretrain_weights
:
https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar
weights
:
output/ppyolo_lb/model_final
num_classes
:
80
use_fine_grained_loss
:
true
use_ema
:
true
ema_decay
:
0.9998
YOLOv3
:
backbone
:
ResNet
yolo_head
:
YOLOv3Head
use_fine_grained_loss
:
true
ResNet
:
norm_type
:
sync_bn
freeze_at
:
0
freeze_norm
:
false
norm_decay
:
0.
depth
:
50
feature_maps
:
[
3
,
4
,
5
]
variant
:
d
dcn_v2_stages
:
[
5
]
YOLOv3Head
:
anchor_masks
:
[[
6
,
7
,
8
],
[
3
,
4
,
5
],
[
0
,
1
,
2
]]
anchors
:
[[
10
,
13
],
[
16
,
30
],
[
33
,
23
],
[
30
,
61
],
[
62
,
45
],
[
59
,
119
],
[
116
,
90
],
[
156
,
198
],
[
373
,
326
]]
norm_decay
:
0.
coord_conv
:
true
iou_aware
:
true
iou_aware_factor
:
0.4
scale_x_y
:
1.05
spp
:
true
yolo_loss
:
YOLOv3Loss
nms
:
MatrixNMS
drop_block
:
true
YOLOv3Loss
:
batch_size
:
24
ignore_thresh
:
0.7
scale_x_y
:
1.05
label_smooth
:
false
use_fine_grained_loss
:
true
iou_loss
:
IouLoss
iou_aware_loss
:
IouAwareLoss
IouLoss
:
loss_weight
:
2.5
max_height
:
608
max_width
:
608
IouAwareLoss
:
loss_weight
:
1.0
max_height
:
608
max_width
:
608
MatrixNMS
:
background_label
:
-1
keep_top_k
:
100
normalized
:
false
score_threshold
:
0.01
post_threshold
:
0.01
LearningRate
:
base_lr
:
0.01
schedulers
:
-
!PiecewiseDecay
gamma
:
0.1
milestones
:
-
150000
-
200000
-
!LinearWarmup
start_factor
:
0.
steps
:
4000
OptimizerBuilder
:
optimizer
:
momentum
:
0.9
type
:
Momentum
regularizer
:
factor
:
0.0005
type
:
L2
_READER_
:
'
ppyolo_reader_lb.yml'
configs/ppyolo/ppyolo_reader_lb.yml
已删除
100644 → 0
浏览文件 @
934266ff
TrainReader
:
inputs_def
:
fields
:
[
'
image'
,
'
gt_bbox'
,
'
gt_class'
,
'
gt_score'
]
num_max_boxes
:
50
dataset
:
!COCODataSet
image_dir
:
train2017
anno_path
:
annotations/instances_train2017.json
dataset_dir
:
dataset/coco
with_background
:
false
sample_transforms
:
-
!DecodeImage
to_rgb
:
True
with_mixup
:
True
-
!MixupImage
alpha
:
1.5
beta
:
1.5
-
!ColorDistort
{}
-
!RandomExpand
fill_value
:
[
123.675
,
116.28
,
103.53
]
-
!RandomCrop
{}
-
!RandomFlipImage
is_normalized
:
false
-
!NormalizeBox
{}
-
!PadBox
num_max_boxes
:
50
-
!BboxXYXY2XYWH
{}
batch_transforms
:
-
!RandomShape
sizes
:
[
320
,
352
,
384
,
416
,
448
,
480
,
512
,
544
,
576
,
608
]
random_inter
:
True
-
!NormalizeImage
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
is_scale
:
True
is_channel_first
:
false
-
!Permute
to_bgr
:
false
channel_first
:
True
# Gt2YoloTarget is only used when use_fine_grained_loss set as true,
# this operator will be deleted automatically if use_fine_grained_loss
# is set as false
-
!Gt2YoloTarget
anchor_masks
:
[[
6
,
7
,
8
],
[
3
,
4
,
5
],
[
0
,
1
,
2
]]
anchors
:
[[
10
,
13
],
[
16
,
30
],
[
33
,
23
],
[
30
,
61
],
[
62
,
45
],
[
59
,
119
],
[
116
,
90
],
[
156
,
198
],
[
373
,
326
]]
downsample_ratios
:
[
32
,
16
,
8
]
batch_size
:
24
shuffle
:
true
mixup_epoch
:
25000
drop_last
:
true
worker_num
:
8
bufsize
:
4
use_process
:
true
EvalReader
:
inputs_def
:
fields
:
[
'
image'
,
'
im_size'
,
'
im_id'
]
num_max_boxes
:
50
dataset
:
!COCODataSet
image_dir
:
val2017
anno_path
:
annotations/instances_val2017.json
dataset_dir
:
dataset/coco
with_background
:
false
sample_transforms
:
-
!DecodeImage
to_rgb
:
True
-
!ResizeImage
target_size
:
608
interp
:
2
-
!NormalizeImage
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
is_scale
:
True
is_channel_first
:
false
-
!PadBox
num_max_boxes
:
50
-
!Permute
to_bgr
:
false
channel_first
:
True
batch_size
:
8
drop_empty
:
false
worker_num
:
8
bufsize
:
4
TestReader
:
inputs_def
:
image_shape
:
[
3
,
608
,
608
]
fields
:
[
'
image'
,
'
im_size'
,
'
im_id'
]
dataset
:
!ImageFolder
anno_path
:
annotations/instances_val2017.json
with_background
:
false
sample_transforms
:
-
!DecodeImage
to_rgb
:
True
-
!ResizeImage
target_size
:
608
interp
:
2
-
!NormalizeImage
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
is_scale
:
True
is_channel_first
:
false
-
!Permute
to_bgr
:
false
channel_first
:
True
batch_size
:
1
configs/ppyolo/ppyolo_tiny.yml
浏览文件 @
c2bf0803
...
...
@@ -33,8 +33,6 @@ YOLOv3Head:
[
81
,
82
],
[
135
,
169
],
[
344
,
319
]]
norm_decay
:
0.
conv_block_num
:
0
iou_aware
:
true
iou_aware_factor
:
0.4
scale_x_y
:
1.05
yolo_loss
:
YOLOv3Loss
nms
:
MatrixNMS
...
...
@@ -47,18 +45,12 @@ YOLOv3Loss:
label_smooth
:
false
use_fine_grained_loss
:
true
iou_loss
:
IouLoss
iou_aware_loss
:
IouAwareLoss
IouLoss
:
loss_weight
:
2.5
max_height
:
608
max_width
:
608
IouAwareLoss
:
loss_weight
:
1.0
max_height
:
608
max_width
:
608
MatrixNMS
:
background_label
:
-1
keep_top_k
:
100
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录