Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
97088feb
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看板
未验证
提交
97088feb
编写于
1月 20, 2020
作者:
K
Kaipeng Deng
提交者:
GitHub
1月 20, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add slim model zoo (#193)
* add slim model zoo
上级
cf872f91
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
116 addition
and
2 deletion
+116
-2
slim/MODEL_ZOO.md
slim/MODEL_ZOO.md
+109
-0
slim/distillation/README.md
slim/distillation/README.md
+2
-0
slim/prune/README.md
slim/prune/README.md
+4
-2
slim/quantization/README.md
slim/quantization/README.md
+1
-0
未找到文件。
slim/MODEL_ZOO.md
0 → 100644
浏览文件 @
97088feb
# 压缩模型库
## 测试环境
-
Python 2.7.1
-
PaddlePaddle >=1.6
-
CUDA 9.0
-
cuDNN >=7.4
-
NCCL 2.1.2
## 裁剪模型库
### 训练策略
-
裁剪模型训练时使用
[
PaddleDetection模型库
](
../../docs/MODEL_ZOO_cn.md
)
发布的模型权重作为预训练权重。
-
裁剪训练使用模型默认配置,即除
`pretrained_weights`
外配置不变。
-
裁剪模型全部为基于敏感度的卷积通道裁剪。
-
YOLOv3模型主要裁剪
`yolo_head`
部分,即裁剪参数如下。
```
--pruned_params="yolo_block.0.0.0.conv.weights,yolo_block.0.0.1.conv.weights,yolo_block.0.1.0.conv.weights,yolo_block.0.1.1.conv.weights,yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.0.0.conv.weights,yolo_block.1.0.1.conv.weights,yolo_block.1.1.0.conv.weights,yolo_block.1.1.1.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights,yolo_block.2.0.0.conv.weights,yolo_block.2.0.1.conv.weights,yolo_block.2.1.0.conv.weights,yolo_block.2.1.1.conv.weights,yolo_block.2.2.conv.weights,yolo_block.2.tip.conv.weights"
```
-
YOLOv3模型裁剪中裁剪策略
`r578`
表示
`yolo_head`
中三个输出分支一次使用
`0.5, 0.7, 0.8`
的裁剪率裁剪,即裁剪率如下。
```
--pruned_ratios="0.5,0.5,0.5,0.5,0.5,0.5,0.7,0.7,0.7,0.7,0.7,0.7,0.8,0.8,0.8,0.8,0.8,0.8"
```
-
YOLOv3模型裁剪中裁剪策略
`sensity`
表示
`yolo_head`
中各参数裁剪率如下,该裁剪率为使用
`yolov3_mobilnet_v1`
模型在COCO数据集上敏感度实验分析得出。
```
--pruned_ratios="0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.3,0.3,0.3,0.2,0.1,0.3,0.4,0.4,0.4,0.4,0.3"
```
### YOLOv3 on COCO
| 骨架网络 | 裁剪策略 | 输入尺寸 | Box AP | 下载 |
| :----------------| :-------: | :------: |:------: | :-----------------------------------------------------: |
| ResNet50-vd-dcn | sensity | 320 | 39.8 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_r50_dcn_prune1x.tar
)
|
| MobileNetV1 | r578 | 608 | 27.8 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_mobilenet_v1_prune578.tar
)
|
| MobileNetV1 | r578 | 416 | 26.8 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_mobilenet_v1_prune578.tar
)
|
| MobileNetV1 | r578 | 320 | 24.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_mobilenet_v1_prune578.tar
)
|
### YOLOv3 on Pascal VOC
| 骨架网络 | 裁剪策略 | 输入尺寸 | Box AP | 下载 |
| :----------------| :-------: | :------: |:------: | :-----------------------------------------------------: |
| MobileNetV1 | r578 | 608 | 77.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_mobilenet_v1_voc_prune578.tar
)
|
| MobileNetV1 | r578 | 416 | 77.7 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_mobilenet_v1_voc_prune578.tar
)
|
| MobileNetV1 | r578 | 320 | 75.5 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/prune/yolov3_mobilenet_v1_voc_prune578.tar
)
|
## 蒸馏模型库
### 训练策略
-
蒸馏模型训练时teacher模型使用
[
PaddleDetection模型库
](
../../docs/MODEL_ZOO_cn.md
)
发布的模型权重作为预训练权重。
-
蒸馏模型训练时student模型使用backbone的预训练权重
### YOLOv3 on COCO
| 骨架网络 | 蒸馏策略 | 输入尺寸 | Box AP | 下载 |
| :----------------| :-----------: | :------: |:------: | :-----------------------------------------------------: |
| MobileNetV1 | split_distiil | 608 | 31.4 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_distilled.tar
)
|
| MobileNetV1 | split_distiil | 416 | 30.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_distilled.tar
)
|
| MobileNetV1 | split_distiil | 320 | 27.1 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_distilled.tar
)
|
### YOLOv3 on Pascal VOC
| 骨架网络 | 蒸馏策略 | 输入尺寸 | Box AP | 下载 |
| :----------------| :-----------: | :------: |:------: | :-----------------------------------------------------: |
| MobileNetV1 | l2_distiil | 608 | 79.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_voc_distilled.tar
)
|
| MobileNetV1 | l2_distiil | 416 | 78.2 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_voc_distilled.tar
)
|
| MobileNetV1 | l2_distiil | 320 | 75.5 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_voc_distilled.tar
)
|
## 量化模型库
### 训练策略
-
量化策略
`post`
为使用离线量化得到的模型,
`aware`
为在线量化训练得到的模型。
### YOLOv3 on COCO
| 骨架网络 | 预训练权重 | 量化策略 | 输入尺寸 | Box AP | 下载 |
| :----------------| :--------: | :------: | :------: |:------: | :-----------------------------------------------------: |
| MobileNetV1 | ImageNet | post | 608 | 27.9 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_quant_post.tar
)
|
| MobileNetV1 | ImageNet | post | 416 | 28.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_quant_post.tar
)
|
| MobileNetV1 | ImageNet | post | 320 | 26.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_quant_post.tar
)
|
| MobileNetV1 | ImageNet | aware | 608 | 28.1 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_quant_aware.tar
)
|
| MobileNetV1 | ImageNet | aware | 416 | 28.2 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_quant_aware.tar
)
|
| MobileNetV1 | ImageNet | aware | 320 | 25.8 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_mobilenetv1_coco_quant_aware.tar
)
|
| ResNet34 | ImageNet | post | 608 | 35.7 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r34_coco_quant_post.tar
)
|
| ResNet34 | ImageNet | aware | 608 | 35.2 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r34_coco_quant_aware.tar
)
|
| ResNet34 | ImageNet | aware | 416 | 33.3 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r34_coco_quant_aware.tar
)
|
| ResNet34 | ImageNet | aware | 320 | 30.3 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r34_coco_quant_aware.tar
)
|
| R50vd-dcn | object365 | aware | 608 | 40.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r50vd_dcn_obj365_pretrained_coco_quant_aware.tar
)
|
| R50vd-dcn | object365 | aware | 416 | 37.5 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r50vd_dcn_obj365_pretrained_coco_quant_aware.tar
)
|
| R50vd-dcn | object365 | aware | 320 | 34.1 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/yolov3_r50vd_dcn_obj365_pretrained_coco_quant_aware.tar
)
|
### BlazeFace on WIDER FACE
| 模型 | 量化策略 | 输入尺寸 | Easy Set | Medium Set | Hard Set | 下载 |
| :--------------- | :------: | :------: | :------: | :--------: | :------: | :-----------------------------------------------------: |
| BlazeFace | post | 640 | 87.8 | 85.1 | 74.9 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/blazeface_origin_quant_post.tar
)
|
| BlazeFace | aware | 640 | 90.5 | 87.9 | 77.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/blazeface_origin_quant_aware.tar
)
|
| BlazeFace-Lite | post | 640 | 89.4 | 86.7 | 75.7 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/blazeface_lite_quant_post.tar
)
|
| BlazeFace-Lite | aware | 640 | 89.7 | 87.3 | 77.0 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/blazeface_lite_quant_aware.tar
)
|
| BlazeFace-NAS | post | 640 | 81.6 | 78.3 | 63.6 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/blazeface_nas_quant_post.tar
)
|
| BlazeFace-NAS | aware | 640 | 83.1 | 79.7 | 64.2 |
[
下载链接
](
https://paddlemodels.bj.bcebos.com/PaddleSlim/blazeface_nas_quant_aware.tar
)
|
slim/distillation/README.md
浏览文件 @
97088feb
...
...
@@ -10,6 +10,8 @@
-
[
检测库的常规训练方法
](
https://github.com/PaddlePaddle/PaddleDetection
)
-
[
PaddleSlim蒸馏API文档
](
https://paddlepaddle.github.io/PaddleSlim/api/single_distiller_api/
)
已发布蒸馏模型见
[
压缩模型库
](
../MODEL_ZOO.md
)
## 安装PaddleSlim
可按照
[
PaddleSlim使用文档
](
https://paddlepaddle.github.io/PaddleSlim/
)
中的步骤安装PaddleSlim
...
...
slim/prune/README.md
浏览文件 @
97088feb
...
...
@@ -8,6 +8,8 @@
该教程中所示操作,如无特殊说明,均在
`PaddleDetection/slim/prune/`
路径下执行。
已发布裁剪模型见
[
压缩模型库
](
../MODEL_ZOO.md
)
## 1. 数据准备
请参考检测库
[
数据下载
](
../../docs/INSTALL_cn.md
)
文档准备数据。
...
...
@@ -21,7 +23,7 @@
通过
`-o weights`
指定模型的权重,可以指定url或本地文件系统的路径。如下所示:
```
-o weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1_voc.tar
-o weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1_voc.tar
```
或
...
...
@@ -38,7 +40,7 @@
通过以下命令查看当前模型的所有参数:
```
python prune.py \
python prune.py \
-c ../../configs/yolov3_mobilenet_v1_voc.yml \
--print_params
```
...
...
slim/quantization/README.md
浏览文件 @
97088feb
...
...
@@ -10,6 +10,7 @@
-
[
检测模型的常规训练方法
](
https://github.com/PaddlePaddle/PaddleDetection
)
-
[
PaddleSlim使用文档
](
https://paddlepaddle.github.io/PaddleSlim/
)
已发布量化模型见
[
压缩模型库
](
../MODEL_ZOO.md
)
## 安装PaddleSlim
可按照
[
PaddleSlim使用文档
](
https://paddlepaddle.github.io/PaddleSlim/
)
中的步骤安装PaddleSlim。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录