Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleDetection
提交
d819f852
P
PaddleDetection
项目概览
PaddlePaddle
/
PaddleDetection
大约 1 年 前同步成功
通知
695
Star
11112
Fork
2696
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
184
列表
看板
标记
里程碑
合并请求
40
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
184
Issue
184
列表
看板
标记
里程碑
合并请求
40
合并请求
40
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
d819f852
编写于
7月 27, 2020
作者:
K
Kaipeng Deng
提交者:
GitHub
7月 27, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add ppyolo_tiny (#1116)
* add ppyolo_tiny
上级
9d5c6551
变更
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
浏览文件 @
d819f852
...
...
@@ -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
浏览文件 @
9d5c6551
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
浏览文件 @
9d5c6551
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
浏览文件 @
d819f852
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录