π Available Encoders#
Segmentation Models PyTorch provides support for a wide range of encoders.
This flexibility allows you to use these encoders with any model in the library by
specifying the encoder name in the encoder_name parameter during model initialization.
Hereβs a quick example of using a ResNet34 encoder with the Unet model:
from segmentation_models_pytorch import Unet
# Initialize Unet with ResNet34 encoder pre-trained on ImageNet
model = Unet(encoder_name="resnet34", encoder_weights="imagenet")
The following encoder families are supported by the library, enabling you to choose the one that best fits your use case:
Mix Vision Transformer (mit)
MobileOne
MobileNet
EfficientNet
ResNet
ResNeXt
SENet
DPN
VGG
DenseNet
Xception
Inception
Choosing the Right Encoder#
Small Models for Edge Devices Consider encoders like MobileNet or MobileOne, which have a smaller parameter count and are optimized for lightweight deployment.
High Performance If you require state-of-the-art accuracy Mix Vision Transformer (mit), EfficientNet families offer excellent balance between performance and computational efficiency.
For each encoder, the table below provides detailed information:
Pretrained Weights Specifies the available pretrained weights (e.g.,
imagenet,imagenet21k).Params, M: The total number of parameters in the encoder, measured in millions. This metric helps you assess the modelβs size and computational requirements.
Script: Indicates whether the encoder can be scripted with
torch.jit.script.Compile: Indicates whether the encoder is compatible with
torch.compile(model, fullgraph=True, dynamic=True, backend="eager"). You may still get some issues with another backends, such asinductor, depending on the torch/cuda/β¦ dependencies version, but most of the time it will work.Export: Indicates whether the encoder can be exported using
torch.export.export, making it suitable for deployment in different environments (e.g., ONNX).
Encoder |
Pretrained weights |
Params, M |
Script |
Compile |
Export |
|---|---|---|---|---|---|
resnet18 |
imagenet / ssl / swsl |
11M |
β |
β |
β |
resnet34 |
imagenet |
21M |
β |
β |
β |
resnet50 |
imagenet / ssl / swsl |
23M |
β |
β |
β |
resnet101 |
imagenet |
42M |
β |
β |
β |
resnet152 |
imagenet |
58M |
β |
β |
β |
resnext50_32x4d |
imagenet / ssl / swsl |
22M |
β |
β |
β |
resnext101_32x4d |
ssl / swsl |
42M |
β |
β |
β |
resnext101_32x8d |
imagenet / instagram / ssl / swsl |
86M |
β |
β |
β |
resnext101_32x16d |
instagram / ssl / swsl |
191M |
β |
β |
β |
resnext101_32x32d |
466M |
β |
β |
β |
|
resnext101_32x48d |
826M |
β |
β |
β |
|
dpn68 |
imagenet |
11M |
β |
β |
β |
dpn68b |
imagenet+5k |
11M |
β |
β |
β |
dpn92 |
imagenet+5k |
34M |
β |
β |
β |
dpn98 |
imagenet |
58M |
β |
β |
β |
dpn107 |
imagenet+5k |
84M |
β |
β |
β |
dpn131 |
imagenet |
76M |
β |
β |
β |
vgg11 |
imagenet |
9M |
β |
β |
β |
vgg11_bn |
imagenet |
9M |
β |
β |
β |
vgg13 |
imagenet |
9M |
β |
β |
β |
vgg13_bn |
imagenet |
9M |
β |
β |
β |
vgg16 |
imagenet |
14M |
β |
β |
β |
vgg16_bn |
imagenet |
14M |
β |
β |
β |
vgg19 |
imagenet |
20M |
β |
β |
β |
vgg19_bn |
imagenet |
20M |
β |
β |
β |
senet154 |
imagenet |
113M |
β |
β |
β |
se_resnet50 |
imagenet |
26M |
β |
β |
β |
se_resnet101 |
imagenet |
47M |
β |
β |
β |
se_resnet152 |
imagenet |
64M |
β |
β |
β |
se_resnext50_32x4d |
imagenet |
25M |
β |
β |
β |
se_resnext101_32x4d |
imagenet |
46M |
β |
β |
β |
densenet121 |
imagenet |
6M |
β |
β |
β |
densenet169 |
imagenet |
12M |
β |
β |
β |
densenet201 |
imagenet |
18M |
β |
β |
β |
densenet161 |
imagenet |
26M |
β |
β |
β |
inceptionresnetv2 |
imagenet / imagenet+background |
54M |
β |
β |
β |
inceptionv4 |
imagenet / imagenet+background |
41M |
β |
β |
β |
efficientnet-b0 |
imagenet / advprop |
4M |
β |
β |
β |
efficientnet-b1 |
imagenet / advprop |
6M |
β |
β |
β |
efficientnet-b2 |
imagenet / advprop |
7M |
β |
β |
β |
efficientnet-b3 |
imagenet / advprop |
10M |
β |
β |
β |
efficientnet-b4 |
imagenet / advprop |
17M |
β |
β |
β |
efficientnet-b5 |
imagenet / advprop |
28M |
β |
β |
β |
efficientnet-b6 |
imagenet / advprop |
40M |
β |
β |
β |
efficientnet-b7 |
imagenet / advprop |
63M |
β |
β |
β |
mobilenet_v2 |
imagenet |
2M |
β |
β |
β |
xception |
imagenet |
20M |
β |
β |
β |
timm-efficientnet-b0 |
imagenet / advprop / noisy-student |
4M |
β |
β |
β |
timm-efficientnet-b1 |
imagenet / advprop / noisy-student |
6M |
β |
β |
β |
timm-efficientnet-b2 |
imagenet / advprop / noisy-student |
7M |
β |
β |
β |
timm-efficientnet-b3 |
imagenet / advprop / noisy-student |
10M |
β |
β |
β |
timm-efficientnet-b4 |
imagenet / advprop / noisy-student |
17M |
β |
β |
β |
timm-efficientnet-b5 |
imagenet / advprop / noisy-student |
28M |
β |
β |
β |
timm-efficientnet-b6 |
imagenet / advprop / noisy-student |
40M |
β |
β |
β |
timm-efficientnet-b7 |
imagenet / advprop / noisy-student |
63M |
β |
β |
β |
timm-efficientnet-b8 |
imagenet / advprop |
84M |
β |
β |
β |
timm-efficientnet-l2 |
noisy-student / noisy-student-475 |
474M |
β |
β |
β |
timm-tf_efficientnet_lite0 |
imagenet |
3M |
β |
β |
β |
timm-tf_efficientnet_lite1 |
imagenet |
4M |
β |
β |
β |
timm-tf_efficientnet_lite2 |
imagenet |
4M |
β |
β |
β |
timm-tf_efficientnet_lite3 |
imagenet |
6M |
β |
β |
β |
timm-tf_efficientnet_lite4 |
imagenet |
11M |
β |
β |
β |
timm-skresnet18 |
imagenet |
11M |
β |
β |
β |
timm-skresnet34 |
imagenet |
21M |
β |
β |
β |
timm-skresnext50_32x4d |
imagenet |
23M |
β |
β |
β |
mit_b0 |
imagenet |
3M |
β |
β |
β |
mit_b1 |
imagenet |
13M |
β |
β |
β |
mit_b2 |
imagenet |
24M |
β |
β |
β |
mit_b3 |
imagenet |
44M |
β |
β |
β |
mit_b4 |
imagenet |
60M |
β |
β |
β |
mit_b5 |
imagenet |
81M |
β |
β |
β |
mobileone_s0 |
imagenet |
4M |
β |
β |
β |
mobileone_s1 |
imagenet |
3M |
β |
β |
β |
mobileone_s2 |
imagenet |
5M |
β |
β |
β |
mobileone_s3 |
imagenet |
8M |
β |
β |
β |
mobileone_s4 |
imagenet |
12M |
β |
β |
β |