Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleDetection
提交
a88fa12a
P
PaddleDetection
项目概览
PaddlePaddle
/
PaddleDetection
1 年多 前同步成功
通知
696
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看板
未验证
提交
a88fa12a
编写于
8月 01, 2022
作者:
F
Feng Ni
提交者:
GitHub
8月 01, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix ppyoloe yolox doc (#6543)
上级
f77d1bcc
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
41 addition
and
26 deletion
+41
-26
configs/ppyoloe/_base_/ppyoloe_crn.yml
configs/ppyoloe/_base_/ppyoloe_crn.yml
+1
-1
configs/ppyoloe/ppyoloe_crn_l_36e_coco_xpu.yml
configs/ppyoloe/ppyoloe_crn_l_36e_coco_xpu.yml
+2
-2
configs/ppyoloe/ppyoloe_crn_s_400e_coco.yml
configs/ppyoloe/ppyoloe_crn_s_400e_coco.yml
+2
-6
configs/yolox/README.md
configs/yolox/README.md
+30
-16
configs/yolox/yolox_cdn_tiny_300e_coco.yml
configs/yolox/yolox_cdn_tiny_300e_coco.yml
+6
-1
未找到文件。
configs/ppyoloe/_base_/ppyoloe_crn.yml
浏览文件 @
a88fa12a
...
...
@@ -39,7 +39,7 @@ PPYOLOEHead:
beta
:
6.0
nms
:
name
:
MultiClassNMS
nms_top_k
:
1000
0
nms_top_k
:
1000
keep_top_k
:
300
score_threshold
:
0.01
nms_threshold
:
0.7
configs/ppyoloe/ppyoloe_crn_l_36e_coco_xpu.yml
浏览文件 @
a88fa12a
...
...
@@ -64,6 +64,6 @@ PPYOLOEHead:
nms
:
name
:
MultiClassNMS
nms_top_k
:
1000
keep_top_k
:
1
00
keep_top_k
:
3
00
score_threshold
:
0.01
nms_threshold
:
0.
6
nms_threshold
:
0.
7
configs/ppyoloe/ppyoloe_crn_s_400e_coco.yml
浏览文件 @
a88fa12a
...
...
@@ -17,13 +17,9 @@ width_mult: 0.50
TrainReader
:
batch_size
:
32
LearningRate
:
base_lr
:
0.04
epoch
:
400
LearningRate
:
base_lr
:
0.0
25
base_lr
:
0.0
4
schedulers
:
-
!CosineDecay
max_epochs
:
480
...
...
@@ -44,7 +40,7 @@ PPYOLOEHead:
static_assigner_epoch
:
133
nms
:
name
:
MultiClassNMS
nms_top_k
:
1000
0
nms_top_k
:
1000
keep_top_k
:
300
score_threshold
:
0.01
nms_threshold
:
0.7
configs/yolox/README.md
浏览文件 @
a88fa12a
...
...
@@ -10,24 +10,24 @@
## 模型库
### YOLOX on COCO
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAP
<sup>
val
<br>
0.5:0.95 | mAP
<sup>
val
<br>
0.5 | 下载链接 | 配置文件 |
| :------------- | :------- | :-------: | :------: | :---------
: | :-----------: | :-----------: |:-------------: |
:-----: |
| YOLOX-nano | 416 | 8 | 300e | 2.3 | 26.1 | 42.0 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_nano_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_nano_300e_coco.yml
)
|
| YOLOX-tiny | 416 | 8 | 300e | 2.8 | 32.9 | 50.4 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_tiny_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_tiny_300e_coco.yml
)
|
| YOLOX-s | 640 | 8 | 300e | 3.0 | 40.4 | 59.6 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_s_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_s_300e_coco.yml
)
|
| YOLOX-m | 640 | 8 | 300e | 5.8 | 46.9 | 65.7|
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_m_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_m_300e_coco.yml
)
|
| YOLOX-l | 640 | 8 | 300e | 9.3 | 50.1 | 68.8 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_l_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_l_300e_coco.yml
)
|
| YOLOX-x | 640 | 8 | 300e | 16.6 |
51.8 | 70.6
|
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_x_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_x_300e_coco.yml
)
|
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAP
<sup>
val
<br>
0.5:0.95 | mAP
<sup>
val
<br>
0.5 | 下载链接 | 配置文件 |
| :------------- | :------- | :-------: | :------: | :---------
: | :-----------: | :-----------: |:-------------: |
:-----: |
| YOLOX-cdn-tiny
| 416 | 8 | 300e | 1.9 | 32.4 | 50.2
|
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_cdn_tiny_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_cdn_tiny_300e_coco.yml
)
|
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAP
<sup>
val
<br>
0.5:0.95 | mAP
<sup>
val
<br>
0.5 |
Params(M) | FLOPs(G) |
下载链接 | 配置文件 |
| :------------- | :------- | :-------: | :------: | :---------
---: | :---------------------: | :----------------: |:---------: | :------: |:---------------: |
:-----: |
| YOLOX-nano | 416 | 8 | 300e | 2.3 | 26.1 | 42.0 |
0.91 | 1.08 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_nano_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_nano_300e_coco.yml
)
|
| YOLOX-tiny | 416 | 8 | 300e | 2.8 | 32.9 | 50.4 |
5.06 | 6.45 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_tiny_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_tiny_300e_coco.yml
)
|
| YOLOX-s | 640 | 8 | 300e | 3.0 | 40.4 | 59.6 |
9.0 | 26.8 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_s_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_s_300e_coco.yml
)
|
| YOLOX-m | 640 | 8 | 300e | 5.8 | 46.9 | 65.7
| 25.3 | 73.8
|
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_m_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_m_300e_coco.yml
)
|
| YOLOX-l | 640 | 8 | 300e | 9.3 | 50.1 | 68.8 |
54.2 | 155.6 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_l_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_l_300e_coco.yml
)
|
| YOLOX-x | 640 | 8 | 300e | 16.6 |
**51.8**
|
**70.6**
| 99.1 | 281.9
|
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_x_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_x_300e_coco.yml
)
|
| 网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | 模型推理耗时(ms) | mAP
<sup>
val
<br>
0.5:0.95 | mAP
<sup>
val
<br>
0.5 |
Params(M) | FLOPs(G) |
下载链接 | 配置文件 |
| :------------- | :------- | :-------: | :------: | :---------
---: | :---------------------: | :----------------: |:---------: | :------: |:---------------: |
:-----: |
| YOLOX-cdn-tiny
| 416 | 8 | 300e | 1.9 | 32.4 | 50.2 | 5.03 | 6.33
|
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_cdn_tiny_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_cdn_tiny_300e_coco.yml
)
|
| YOLOX-crn-s | 640 | 8 | 300e | 3.0 | 40.4 | 59.6 | 7.7 | 24.69 |
[
下载链接
](
https://paddledet.bj.bcebos.com/models/yolox_crn_s_300e_coco.pdparams
)
|
[
配置文件
](
./yolox_crn_s_300e_coco.yml
)
|
**注意:**
-
YOLOX模型训练使用COCO train2017作为训练集,YOLOX-cdn表示使用与YOLOv5 releases v6.0之后版本相同的主干网络,YOLOX-crn表示使用与PPYOLOE相同的主干网络CSPResNet
;
-
YOLOX模型训练使用COCO train2017作为训练集,YOLOX-cdn表示使用与YOLOv5 releases v6.0之后版本相同的主干网络,YOLOX-crn表示使用与PPYOLOE相同的主干网络CSPResNet
;
-
YOLOX模型训练过程中默认使用8 GPUs进行混合精度训练,默认每卡batch_size为8,默认lr为0.01为8卡总batch_size=64的设置,如果
**GPU卡数**
或者每卡
**batch size**
发生了改变,你需要按照公式
**lr<sub>new</sub> = lr<sub>default</sub> * (batch_size<sub>new</sub> * GPU_number<sub>new</sub>) / (batch_size<sub>default</sub> * GPU_number<sub>default</sub>)**
调整学习率;
-
为保持高mAP的同时提高推理速度,可以将
[
yolox_cspdarknet.yml
](
_base_/yolox_cspdarknet.yml
)
中的
`nms_top_k`
修改为
`1000`
,将
`keep_top_k`
修改为
`100`
,将
`score_threshold`
修改为
`0.01`
,mAP会下降约0.1~0.2%;
-
为快速的demo演示效果,可以将
[
yolox_cspdarknet.yml
](
_base_/yolox_cspdarknet.yml
)
中的
`score_threshold`
修改为
`0.25`
,将
`nms_threshold`
修改为
`0.45`
,但mAP会下降较多;
...
...
@@ -154,15 +154,29 @@ python tools/export_model.py -c configs/yolox/yolox_s_300e_coco.yml -o weights=h
python deploy/python/infer.py
--model_dir
=
output_inference/yolox_s_300e_coco
--image_file
=
demo/000000014439_640x640.jpg
--device
=
gpu
--run_benchmark
=
True
# tensorRT-FP32测速
python deploy/python/infer.py
--model_dir
=
output_inference/yolox_s_300e_coco
--image_file
=
demo/000000014439_640x640.jpg
--device
=
gpu
--run_benchmark
=
True
--
trt_max_shape
=
640
--trt_min_shape
=
640
--trt_opt_shape
=
640
--
run_mode
=
trt_fp32
python deploy/python/infer.py
--model_dir
=
output_inference/yolox_s_300e_coco
--image_file
=
demo/000000014439_640x640.jpg
--device
=
gpu
--run_benchmark
=
True
--run_mode
=
trt_fp32
# tensorRT-FP16测速
python deploy/python/infer.py
--model_dir
=
output_inference/yolox_s_300e_coco
--image_file
=
demo/000000014439_640x640.jpg
--device
=
gpu
--run_benchmark
=
True
--
trt_max_shape
=
640
--trt_min_shape
=
640
--trt_opt_shape
=
640
--
run_mode
=
trt_fp16
python deploy/python/infer.py
--model_dir
=
output_inference/yolox_s_300e_coco
--image_file
=
demo/000000014439_640x640.jpg
--device
=
gpu
--run_benchmark
=
True
--run_mode
=
trt_fp16
```
**注意:**
-
导出模型时指定
`-o exclude_nms=True`
仅作为测速时用,这样导出的模型其推理部署预测的结果不是最终检出框的结果。
-
[
模型库
](
#模型库
)
中的速度测试结果为
**tensorRT-FP16**
测速后的最快速度,为
**不包含数据预处理和模型输出后处理(NMS)**
的耗时。
## FAQ
<details>
<summary>
如何计算模型参数量
</summary>
可以将以下代码插入:
[
trainer.py
](
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.4/ppdet/engine/trainer.py#L153
)
来计算参数量。
```
python
params
=
sum
([
p
.
numel
()
for
n
,
p
in
self
.
model
.
named_parameters
()
if
all
([
x
not
in
n
for
x
in
[
'_mean'
,
'_variance'
]])
])
# exclude BatchNorm running status
print
(
'Params: '
,
params
)
```
</details>
## Citations
```
...
...
configs/yolox/yolox
v2
_tiny_300e_coco.yml
→
configs/yolox/yolox
_cdn
_tiny_300e_coco.yml
浏览文件 @
a88fa12a
_BASE_
:
[
'
yolox_tiny_300e_coco.yml'
]
weights
:
output/yoloxv2_tiny_300e_coco/model_final
depth_mult
:
0.33
width_mult
:
0.375
log_iter
:
100
snapshot_epoch
:
10
weights
:
output/yolox_cdn_tiny_300e_coco/model_final
CSPDarkNet
:
arch
:
"
P5"
# using the same backbone of YOLOv5 releases v6.0 and later version
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录