📄️ Compound Loss Functions
This guide covers the full loss system in pytorchsegmentationmodels_trainer, from the base Loss class to MultiLoss composition, weight scheduling, and distributed normalization.
📄️ Frame Field Models In Depth
This guide explains what frame fields are, why they improve polygonization, and how the FrameFieldSegmentationPLModel and its associated losses work together.
📄️ Domain Adaptation
Domain adaptation (DA) lets you take a segmentation model trained on a labeled source domain and transfer its knowledge to an unlabeled (or weakly labeled) target domain, without requiring full annotations in the target.
📄️ Test Time Augmentation (TTA)
Test Time Augmentation improves prediction quality without retraining: the model runs multiple times on geometrically transformed versions of the same input, each prediction is reversed back to the original orientation, and the results are averaged.
📄️ Implementing a DA Method
Adding a new DA method requires creating a single file with a subclass of BaseDomainAdaptationMethod. No framework code needs to be modified.
📄️ RandomCrop Dataset
RandomCropSegmentationDataset reads large images on-the-fly using rasterio windowed reads instead of pre-generating tiles on disk. This eliminates the disk space overhead of a tile library and allows crop size, augmentation, and sampling strategy to be changed without reprocessing data.
📄️ DA Config Reference
Full reference for all fields in the domain_adaptation config section used by DomainAdaptationModel.
📄️ Mixture of Experts Models
Two UPerNet variants replace selected decoder convolutions with Mixture of Experts (MoE) blocks, adding conditional computation capacity without a proportional increase in inference-time FLOPs.
📄️ Dual-Head Training
UPerNetDualHead extends UPerNet with two independent decoders sharing a single encoder. The two heads are supervised with different label types simultaneously: