2022-06-07 18:05:51 +08:00
# MMSegmentation Support
2021-11-08 16:08:41 +08:00
MMSegmentation is an open source object segmentation toolbox based on PyTorch. It is a part of the [OpenMMLab ](https://openmmlab.com/ ) project.
2022-06-07 18:05:51 +08:00
## MMSegmentation installation tutorial
2021-11-08 16:08:41 +08:00
2021-12-23 17:35:59 +08:00
Please refer to [get_started.md ](https://github.com/open-mmlab/mmsegmentation/blob/master/docs/en/get_started.md#installation ) for installation.
2021-11-08 16:08:41 +08:00
2022-06-07 18:05:51 +08:00
## List of MMSegmentation models supported by MMDeploy
2021-11-08 16:08:41 +08:00
2022-06-17 09:19:10 +08:00
| Model | OnnxRuntime | TensorRT | ncnn | PPLNN | OpenVino | Model config |
| :--------------------------- | :---------: | :------: | :--: | :---: | :------: | :--------------------------------------------------------------------------------------: |
| FCN | Y | Y | Y | Y | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/fcn ) |
| PSPNet[\*](#static_shape) | Y | Y | Y | Y | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/pspnet ) |
| DeepLabV3 | Y | Y | Y | Y | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/deeplabv3 ) |
| DeepLabV3+ | Y | Y | Y | Y | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/deeplabv3plus ) |
| Fast-SCNN[\*](#static_shape) | Y | Y | N | Y | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/fastscnn ) |
| UNet | Y | Y | Y | Y | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/unet ) |
| ANN[\*](#static_shape) | Y | Y | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/ann ) |
| APCNet | Y | Y | Y | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/apcnet ) |
| BiSeNetV1 | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/bisenetv1 ) |
| BiSeNetV2 | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/bisenetv2 ) |
| CGNet | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/cgnet ) |
| DMNet | Y | N | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/dmnet ) |
| DNLNet | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/dnlnet ) |
| EMANet | Y | Y | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/emanet ) |
| EncNet | Y | Y | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/encnet ) |
| ERFNet | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/erfnet ) |
| FastFCN | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/fastfcn ) |
| GCNet | Y | Y | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/gcnet ) |
| ICNet[\*](#static_shape) | Y | Y | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/icnet ) |
2022-09-02 10:55:32 +08:00
| ISANet[\*](#static_shape) | Y | Y | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/isanet ) |
2022-06-17 09:19:10 +08:00
| NonLocal Net | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/nonlocal_net ) |
| OCRNet | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/ocrnet ) |
2022-09-02 10:55:32 +08:00
| PointRend[\*](#static_shape) | Y | Y | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/point_rend ) |
2022-06-17 09:19:10 +08:00
| Semantic FPN | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/sem_fpn ) |
| STDC | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/stdc ) |
| UPerNet[\*](#static_shape) | Y | Y | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/upernet ) |
| DANet | Y | Y | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/danet ) |
2022-06-27 17:52:05 +08:00
| Segmenter[\*](#static_shape) | Y | Y | Y | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/segmenter ) |
2022-06-17 09:19:10 +08:00
| SegFormer[\*](#static_shape) | Y | Y | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/segformer ) |
| SETR | Y | N | N | N | Y | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/setr ) |
| CCNet | N | N | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/ccnet ) |
| PSANet | N | N | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/psanet ) |
| DPT | N | N | N | N | N | [config ](https://github.com/open-mmlab/mmsegmentation/tree/master/configs/dpt ) |
2021-11-08 16:08:41 +08:00
2022-06-07 18:05:51 +08:00
## Reminder
2021-11-08 16:08:41 +08:00
2021-11-25 14:51:21 +08:00
- Only `whole` inference mode is supported for all mmseg models.
2021-12-09 20:17:00 +08:00
- < i id = "static_shape" > PSPNet, Fast-SCNN</ i > only support static shape, because [nn.AdaptiveAvgPool2d ](https://github.com/open-mmlab/mmsegmentation/blob/97f9670c5a4a2a3b4cfb411bcc26db16b23745f7/mmseg/models/decode_heads/psp_head.py#L38 ) is not supported in most of backends dynamically.
- For models only supporting static shape, you should use the deployment config file of static shape such as `configs/mmseg/segmentation_tensorrt_static-1024x2048.py` .
2022-12-26 15:48:07 +08:00
- For users prefer deployed models generate probability feature map, put `codebase_config = dict(with_argmax=False)` in deploy configs.