Skip to content

Commit

Permalink
add rtdetr act demo (#8211)
Browse files Browse the repository at this point in the history
* add rtdetr act demo

* add act rtdetr
  • Loading branch information
xiaoluomi authored May 9, 2023
1 parent 6042fcd commit 7329101
Show file tree
Hide file tree
Showing 6 changed files with 175 additions and 0 deletions.
21 changes: 21 additions & 0 deletions deploy/auto_compression/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,27 @@ git

- mAP的指标均在COCO val2017数据集中评测得到,IoU=0.5:0.95。

### RT-DETR

| 模型 | Base mAP | ACT量化mAP | TRT-FP32 | TRT-FP16 | TRT-INT8 | 配置文件 | 量化模型 |
| :---------------- | :------- | :--------: | :------: | :------: | :--------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| RT-DETR-R50 | 53.1 | 53.0 | 32.05ms | 9.12ms | **6.96ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_r50vd_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_r50vd_6x_coco_quant.tar) |
| RT-DETR-R101 | 54.3 | 54.1 | 54.13ms | 12.68ms | **9.20ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_r101vd_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_r101vd_6x_coco_quant.tar) |
| RT-DETR-HGNetv2-L | 53.0 | 52.9 | 26.16ms | 8.54ms | **6.65ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_hgnetv2_l_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_hgnetv2_l_6x_coco_quant.tar) |
| RT-DETR-HGNetv2-X | 54.8 | 54.6 | 49.22ms | 12.50ms | **9.24ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_hgnetv2_x_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_hgnetv2_x_6x_coco_quant.tar) |

- 上表测试环境:Tesla T4,TensorRT 8.6.0,CUDA 11.7,batch_size=1。

| 模型 | Base mAP | ACT量化mAP | TRT-FP32 | TRT-FP16 | TRT-INT8 | 配置文件 | 量化模型 |
| :---------------- | :------- | :--------: | :------: | :------: | :--------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| RT-DETR-R50 | 53.1 | 53.0 | 9.64ms | 5.00ms | **3.99ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_r50vd_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_r50vd_6x_coco_quant.tar) |
| RT-DETR-R101 | 54.3 | 54.1 | 14.93ms | 7.15ms | **5.12ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_r101vd_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_r101vd_6x_coco_quant.tar) |
| RT-DETR-HGNetv2-L | 53.0 | 52.9 | 8.17ms | 4.77ms | **4.00ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_hgnetv2_l_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_hgnetv2_l_6x_coco_quant.tar) |
| RT-DETR-HGNetv2-X | 54.8 | 54.6 | 12.81ms | 6.97ms | **5.32ms** | [config](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/example/auto_compression/detection/configs/rtdetr_hgnetv2_x_qat_dis.yaml) | [Model](https://bj.bcebos.com/v1/paddle-slim-models/act/rtdetr_hgnetv2_x_6x_coco_quant.tar) |

- 上表测试环境:A10,TensorRT 8.6.0,CUDA 11.6,batch_size=1。
- mAP的指标均在COCO val2017数据集中评测得到,IoU=0.5:0.95。

## 3. 自动压缩流程

#### 3.1 准备环境
Expand Down
32 changes: 32 additions & 0 deletions deploy/auto_compression/configs/rtdetr_hgnetv2_l_qat_dis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

Global:
reader_config: configs/rtdetr_reader.yml
include_nms: True
Evaluation: True
model_dir: ./rtdetr_hgnetv2_l_6x_coco/
model_filename: model.pdmodel
params_filename: model.pdiparams

Distillation:
alpha: 1.0
loss: soft_label

QuantAware:
onnx_format: true
activation_quantize_type: 'moving_average_abs_max'
quantize_op_types:
- conv2d
- depthwise_conv2d
- matmul_v2

TrainConfig:
train_iter: 200
eval_iter: 50
learning_rate:
type: CosineAnnealingDecay
learning_rate: 0.00003
T_max: 10000
optimizer_builder:
optimizer:
type: SGD
weight_decay: 4.0e-05
32 changes: 32 additions & 0 deletions deploy/auto_compression/configs/rtdetr_hgnetv2_x_qat_dis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

Global:
reader_config: configs/rtdetr_reader.yml
include_nms: True
Evaluation: True
model_dir: ./rtdetr_r50vd_6x_coco/
model_filename: model.pdmodel
params_filename: model.pdiparams

Distillation:
alpha: 1.0
loss: soft_label

QuantAware:
onnx_format: true
activation_quantize_type: 'moving_average_abs_max'
quantize_op_types:
- conv2d
- depthwise_conv2d
- matmul_v2

TrainConfig:
train_iter: 500
eval_iter: 100
learning_rate:
type: CosineAnnealingDecay
learning_rate: 0.00003
T_max: 10000
optimizer_builder:
optimizer:
type: SGD
weight_decay: 4.0e-05
32 changes: 32 additions & 0 deletions deploy/auto_compression/configs/rtdetr_r101vd_qat_dis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

Global:
reader_config: configs/rtdetr_reader.yml
include_nms: True
Evaluation: True
model_dir: ./rtdetr_hgnetv2_x_6x_coco/
model_filename: model.pdmodel
params_filename: model.pdiparams

Distillation:
alpha: 1.0
loss: soft_label

QuantAware:
onnx_format: true
activation_quantize_type: 'moving_average_abs_max'
quantize_op_types:
- conv2d
- depthwise_conv2d
- matmul_v2

TrainConfig:
train_iter: 200
eval_iter: 50
learning_rate:
type: CosineAnnealingDecay
learning_rate: 0.00003
T_max: 10000
optimizer_builder:
optimizer:
type: SGD
weight_decay: 4.0e-05
32 changes: 32 additions & 0 deletions deploy/auto_compression/configs/rtdetr_r50vd_qat_dis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

Global:
reader_config: configs/rtdetr_reader.yml
include_nms: True
Evaluation: True
model_dir: ./rtdetr_r50vd_6x_coco/
model_filename: model.pdmodel
params_filename: model.pdiparams

Distillation:
alpha: 1.0
loss: soft_label

QuantAware:
onnx_format: true
activation_quantize_type: 'moving_average_abs_max'
quantize_op_types:
- conv2d
- depthwise_conv2d
- matmul_v2

TrainConfig:
train_iter: 500
eval_iter: 100
learning_rate:
type: CosineAnnealingDecay
learning_rate: 0.00003
T_max: 10000
optimizer_builder:
optimizer:
type: SGD
weight_decay: 4.0e-05
26 changes: 26 additions & 0 deletions deploy/auto_compression/configs/rtdetr_reader.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
metric: COCO
num_classes: 80

# Datset configuration
TrainDataset:
!COCODataSet
image_dir: train2017
anno_path: annotations/instances_train2017.json
dataset_dir: dataset/coco/
!COCODataSet
image_dir: val2017
anno_path: annotations/instances_val2017.json
dataset_dir: dataset/coco/

worker_num: 0

# preprocess reader in test
EvalReader:
sample_transforms:
- Decode: {}
- Resize: {target_size: [640, 640], keep_ratio: False, interp: 2}
- NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
- Permute: {}
batch_size: 1
shuffle: false
drop_last: false

0 comments on commit 7329101

Please sign in to comment.