Skip to content

Commit

Permalink
[TIPC] Add TIPC Benchmarks of SFNet and MobileSeg-MV3 (#2505)
Browse files Browse the repository at this point in the history
* Add TIPC chains of SFNet and MobileSeg-MV3

* Fix SegFormer initialization bug

* Update benchmark statistics of OCRNet_HRNetW18 and PPMatting

* Update SegFormer configs
  • Loading branch information
Bobholamovic authored Sep 2, 2022
1 parent dbc7a84 commit 7970483
Show file tree
Hide file tree
Showing 24 changed files with 299 additions and 86 deletions.
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b0_cityscapes_1024x1024_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 2
iters: 160000

model:
type: SegFormer_B0
type: SegFormer
backbone:
type: MixVisionTransformer_B0
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b0.tar.gz
embedding_dim: 256
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b0.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b0_cityscapes_1024x512_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B0
type: SegFormer
backbone:
type: MixVisionTransformer_B0
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b0.tar.gz
embedding_dim: 256
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b0.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b1_cityscapes_1024x1024_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 2
iters: 160000

model:
type: SegFormer_B1
type: SegFormer
backbone:
type: MixVisionTransformer_B1
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b1.tar.gz
embedding_dim: 256
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b1.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b1_cityscapes_1024x512_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B1
type: SegFormer
backbone:
type: MixVisionTransformer_B1
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b1.tar.gz
embedding_dim: 256
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b1.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b2_cityscapes_1024x1024_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 2
iters: 160000

model:
type: SegFormer_B2
type: SegFormer
backbone:
type: MixVisionTransformer_B2
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b2.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b2.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b2_cityscapes_1024x512_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B2
type: SegFormer
backbone:
type: MixVisionTransformer_B2
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b2.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b2.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b3_cityscapes_1024x1024_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 2
iters: 160000

model:
type: SegFormer_B3
type: SegFormer
backbone:
type: MixVisionTransformer_B3
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b3.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b3.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b3_cityscapes_1024x512_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B3
type: SegFormer
backbone:
type: MixVisionTransformer_B3
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b3.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b3.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b4_cityscapes_1024x1024_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 2
iters: 160000

model:
type: SegFormer_B4
type: SegFormer
backbone:
type: MixVisionTransformer_B4
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b4.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b4.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b4_cityscapes_1024x512_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B4
type: SegFormer
backbone:
type: MixVisionTransformer_B4
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b4.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b4.tar.gz

optimizer:
_inherited_: False
Expand Down
7 changes: 5 additions & 2 deletions configs/segformer/segformer_b5_cityscapes_1024x1024_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B5
type: SegFormer
backbone:
type: MixVisionTransformer_B5
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b5.tar.gz
embedding_dim: 768
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b5.tar.gz

optimizer:
_inherited_: False
Expand Down
6 changes: 5 additions & 1 deletion configs/segformer/segformer_b5_cityscapes_1024x512_160k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ batch_size: 1
iters: 160000

model:
type: SegFormer_B5
type: SegFormer
backbone:
type: MixVisionTransformer_B5
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b5.tar.gz
embedding_dim: 768
num_classes: 19

optimizer:
Expand Down
48 changes: 0 additions & 48 deletions paddleseg/models/segformer.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,51 +127,3 @@ def forward(self, x):
mode='bilinear',
align_corners=self.align_corners)
]


@manager.MODELS.add_component
def SegFormer_B0(**kwargs):
return SegFormer(
backbone=manager.BACKBONES['MixVisionTransformer_B0'](),
embedding_dim=256,
**kwargs)


@manager.MODELS.add_component
def SegFormer_B1(**kwargs):
return SegFormer(
backbone=manager.BACKBONES['MixVisionTransformer_B1'](),
embedding_dim=256,
**kwargs)


@manager.MODELS.add_component
def SegFormer_B2(**kwargs):
return SegFormer(
backbone=manager.BACKBONES['MixVisionTransformer_B2'](),
embedding_dim=768,
**kwargs)


@manager.MODELS.add_component
def SegFormer_B3(**kwargs):
return SegFormer(
backbone=manager.BACKBONES['MixVisionTransformer_B3'](),
embedding_dim=768,
**kwargs)


@manager.MODELS.add_component
def SegFormer_B4(**kwargs):
return SegFormer(
backbone=manager.BACKBONES['MixVisionTransformer_B4'](),
embedding_dim=768,
**kwargs)


@manager.MODELS.add_component
def SegFormer_B5(**kwargs):
return SegFormer(
backbone=manager.BACKBONES['MixVisionTransformer_B5'](),
embedding_dim=768,
**kwargs)
2 changes: 2 additions & 0 deletions test_tipc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@
| HRNetW48Contrast | HRNetW48Contrast | 支持 | - | - | - |
| ENCNet | ENCNet | 支持 | - | - | - |
| ESPNetV2 | ESPNetV2 | 支持 | - | - | - |
| SFNet | SFNet | 支持 | - | - | - |
| MobileSeg | MobileSeg-MV3 | 支持 | - | - | - |

## 3. 测试工具简介
### 目录介绍
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
_base_: '../_base_/cityscapes.yml'

batch_size: 4
iters: 80000

optimizer:
weight_decay: 5.0e-4

lr_scheduler:
warmup_iters: 1000
warmup_start_lr: 1.0e-5
learning_rate: 0.005

loss:
types:
- type: OhemCrossEntropyLoss
min_kept: 130000
- type: OhemCrossEntropyLoss
min_kept: 130000
- type: OhemCrossEntropyLoss
min_kept: 130000
coef: [1, 1, 1]

train_dataset:
transforms:
- type: ResizeStepScaling
min_scale_factor: 0.5
max_scale_factor: 2.0
scale_step_size: 0.25
- type: RandomPaddingCrop
crop_size: [1024, 512]
- type: RandomHorizontalFlip
- type: RandomDistort
brightness_range: 0.5
contrast_range: 0.5
saturation_range: 0.5
- type: Normalize
mode: train

model:
type: MobileSeg
backbone:
type: MobileNetV3_large_x1_0 # out channels: [24, 40, 112, 160]
pretrained: https://paddleseg.bj.bcebos.com/dygraph/backbone/mobilenetv3_large_x1_0_ssld.tar.gz
cm_bin_sizes: [1, 2, 4]
cm_out_ch: 128
arm_out_chs: [32, 64, 128]
seg_head_inter_chs: [32, 32, 32]
61 changes: 61 additions & 0 deletions test_tipc/configs/mobileseg_mv3/train_infer_python.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
===========================train_params===========================
model_name:mobileseg_mv3
python:python3.7
gpu_list:0|0,1
Global.use_gpu:null|null
--precision:null
--iters:lite_train_lite_infer=20|lite_train_whole_infer=20|whole_train_whole_infer=1000
--save_dir:
--batch_size:lite_train_lite_infer=2|lite_train_whole_infer=2|whole_train_whole_infer=4
--model_path:null
train_model_name:best_model/model.pdparams
train_infer_img_dir:test_tipc/data/cityscapes/cityscapes_val_5.list
null:null
##
trainer:norm
norm_train:train.py --config test_tipc/configs/mobileseg_mv3/mobileseg_mobilenetv3_cityscapes_1024x512_80k.yml --save_interval 500 --seed 100 --num_workers 8
pact_train:null
fpgm_train:null
distill_train:null
null:null
null:null
##
===========================eval_params===========================
eval:val.py --config test_tipc/configs/mobileseg_mv3/mobileseg_mobilenetv3_cityscapes_1024x512_80k.yml --num_workers 8
null:null
##
===========================export_params===========================
--save_dir:
--model_path:
norm_export:export.py --config test_tipc/configs/mobileseg_mv3/mobileseg_mobilenetv3_cityscapes_1024x512_80k.yml
quant_export:null
fpgm_export:null
distill_export:null
export1:null
export2:null
===========================infer_params===========================
infer_model:./test_tipc/output/mobileseg_mv3/model.pdparams
infer_export:export.py --config test_tipc/configs/mobileseg_mv3/mobileseg_mobilenetv3_cityscapes_1024x512_80k.yml
infer_quant:False
inference:deploy/python/infer.py
--device:cpu|gpu
--enable_mkldnn:True
--cpu_threads:6
--batch_size:1
--use_trt:False
--precision:fp32
--config:
--image_path:./test_tipc/data/cityscapes/cityscapes_val_5.list
--save_log_path:null
--benchmark:True
--save_dir:
--model_name:mobileseg_mv3
===========================infer_benchmark_params==========================
random_infer_input:[{float32,[3,1024,512]}]
===========================train_benchmark_params==========================
batch_size:4
fp_items:fp32|fp16
epoch:400
--profiler_options:'batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile'
flags:FLAGS_eager_delete_tensor_gb=0.0;FLAGS_fraction_of_gpu_memory_to_use=0.98;FLAGS_conv_workspace_size_limit=4096;FLAGS_cudnn_deterministic=False
log_iters:15;set_cv_threads:true;skip_iters:2;repeats:500
4 changes: 2 additions & 2 deletions test_tipc/configs/ocrnet_hrnetw18/train_infer_python.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ random_infer_input:[{float32,[3,512,1024]}]
===========================train_benchmark_params==========================
batch_size:2
fp_items:fp32|fp16
epoch:500
epoch:600
--profiler_options:'batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile'
flags:FLAGS_eager_delete_tensor_gb=0.0;FLAGS_fraction_of_gpu_memory_to_use=0.98;FLAGS_conv_workspace_size_limit=4096;FLAGS_cudnn_deterministic=False
log_iters:8;set_cv_threads:true;skip_iters:3;repeats:500
log_iters:15;set_cv_threads:true;skip_iters:3;repeats:500
4 changes: 2 additions & 2 deletions test_tipc/configs/ppmatting/train_infer_python.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ random_infer_input:[{float32,[3,512,512]}]
===========================train_benchmark_params==========================
batch_size:2
fp_items:fp32|fp16
epoch:250
epoch:400
--profiler_options:'batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile'
flags:FLAGS_eager_delete_tensor_gb=0.0;FLAGS_fraction_of_gpu_memory_to_use=0.98;FLAGS_conv_workspace_size_limit=4096;FLAGS_cudnn_deterministic=False
log_iters:8;repeats:500;task:mat
log_iters:12;repeats:500;task:mat
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ batch_size: 2
iters: 160000

model:
type: SegFormer_B0
type: SegFormer
backbone:
type: MixVisionTransformer_B0
pretrained: https://bj.bcebos.com/paddleseg/dygraph/backbone/mix_vision_transformer_b0.tar.gz
embedding_dim: 256
num_classes: 19
pretrained: https://bj.bcebos.com/paddleseg/dygraph/mix_vision_transformer_b0.tar.gz

optimizer:
_inherited_: False
Expand Down
Loading

0 comments on commit 7970483

Please sign in to comment.