A PyTorch zoo for classic semantic segmentation nets
This repo wraps seven classic segmentation architectures and seven dataset loaders into a single YAML-driven training framework.

What it does
pytorch-semseg gathers seven influential semantic segmentation architectures—FCN, U-Net, SegNet, PSPNet, ICNet, Link-Net, and FRRN—under one roof, alongside dataloaders for workhorse datasets like Cityscapes, Pascal VOC, and ADE20K. Instead of scattered one-off scripts, you get a single YAML-driven harness: one file defines the model, data pipeline, augmentations, optimizer, and learning-rate schedule. Training, validation, and testing are handled by separate entry points, with optional DenseCRF post-processing thrown in for good measure.
The interesting bit
The real product here is normalization, not novelty. The author absorbed the drudgery of reconciling different paper implementations into a single interchangeable framework, complete with data augmentation, multiple loss functions, and checkpoint resumption. Think of it as a standardized test bench for mid-2010s segmentation research.
Key highlights
- Seven architectures: FCN (32s/16s/8s), U-Net, SegNet, PSPNet, ICNet, Link-Net, and FRRN (A/B).
- Seven dataset loaders: Cityscapes, Pascal VOC, ADE20K, CamVid, MIT Scene Parsing, NYUDv2, and Sun-RGBD.
- YAML config swaps models, optimizers (SGD, Adam, etc.), losses (cross-entropy, bootstrapped, multi-scale), and augmentation pipelines without code changes.
- Supports resumable training, evaluation with flipped-image augmentation, and DenseCRF post-processing at inference time.
- Packaged on PyPI (v0.1.2) and citable via DOI, suggesting it was built with academic reproducibility in mind.
Caveats
- The requirements lock to PyTorch ≥0.4.0 and torchvision 0.2.0, so modern environments will likely complain; this is very much a legacy codebase.
- No accuracy tables, benchmark numbers, or pretrained weight performance stats appear in the README, so baseline expectations are unclear.
- E-Net and RefineNet are listed under “Upcoming” but are absent from the implemented networks, suggesting the catalog may be frozen.
Verdict
Use this if you need a clean, unified reference implementation of classic segmentation nets for teaching, paper reproduction, or archaeology on legacy PyTorch. Avoid it if you want state-of-the-art models, modern framework support, or verified pretrained weights ready for production.
Frequently asked
- What is meetps/pytorch-semseg?
- This repo wraps seven classic segmentation architectures and seven dataset loaders into a single YAML-driven training framework.
- Is pytorch-semseg open source?
- Yes — meetps/pytorch-semseg is open source, released under the MIT license.
- What language is pytorch-semseg written in?
- meetps/pytorch-semseg is primarily written in Python.
- How popular is pytorch-semseg?
- meetps/pytorch-semseg has 3.4k stars on GitHub.
- Where can I find pytorch-semseg?
- meetps/pytorch-semseg is on GitHub at https://github.com/meetps/pytorch-semseg.