← all repositories
qubvel-org/segmentation_models.pytorch

The IKEA of semantic segmentation: 12 architectures, 800+ backbones

Because wiring a custom decoder to every new pretrained backbone is a waste of an afternoon.

11.7k stars Python Computer VisionML Frameworks
segmentation_models.pytorch
Not currently ranked — collecting fresh signals.
star history

What it does

SMP is a PyTorch library that instantiates semantic segmentation models—Unet, Segformer, DPT, DeepLabV3+, and eight others—as standard torch.nn.Module objects. You pick an architecture, pick an encoder from a catalog of 800+ convolutional and transformer backbones (including the full timm zoo), and the library marries them with pretrained weights. It also bundles common segmentation losses and metrics like Dice and Jaccard, and plays nice with ONNX export, TorchScript, and torch.compile.

The interesting bit

The real workhorse is the encoder abstraction: instead of hacking at a classifier’s final layer, the library extracts intermediate feature maps and routes them into the decoder. This means you can swap a ResNet-34 for a ConvNeXt or Swin Transformer without touching the decoder code, turning architecture search into a one-line parameter change.

Key highlights

  • 12 encoder-decoder architectures, from classic U-Net to transformers like Segformer and DPT
  • 800+ pretrained encoders natively supported, plus full integration with the timm model hub
  • Built-in preprocessing helpers that match the encoder’s original training regime
  • Common segmentation losses and metrics (Dice, Jaccard, Tversky) included out of the box
  • Export-friendly: ONNX, TorchScript, trace, and torch.compile are all supported

Verdict

Worth a look if you need to prototype or productionize semantic segmentation without maintaining a zoo of custom model definitions. Skip it if you are already locked into a heavily customized pipeline that doesn’t map cleanly to encoder-decoder pairs.

Frequently asked

What is qubvel-org/segmentation_models.pytorch?
Because wiring a custom decoder to every new pretrained backbone is a waste of an afternoon.
Is segmentation_models.pytorch open source?
Yes — qubvel-org/segmentation_models.pytorch is open source, released under the MIT license.
What language is segmentation_models.pytorch written in?
qubvel-org/segmentation_models.pytorch is primarily written in Python.
How popular is segmentation_models.pytorch?
qubvel-org/segmentation_models.pytorch has 11.7k stars on GitHub.
Where can I find segmentation_models.pytorch?
qubvel-org/segmentation_models.pytorch is on GitHub at https://github.com/qubvel-org/segmentation_models.pytorch.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.