PP-LiteSeg
PP-LiteSeg assigns a semantic class to each pixel using an STDC backbone and a fusion decoder.
- Tasks
- semantic segmentation
- Install
pip install libreyolo- Support tier
- Supported, since v1.6.0. Supporting trainables: kept green in CI, features land opportunistically.
- Licenses
- Code MIT, weights Apache-2.0. Commercial use
Install
pip install "libreyolo"Predict
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPLiteSegt50-sem.pt", device="cpu")result = model(SAMPLE_IMAGE)print(result.semantic_mask)The t50 and b50 variants evaluate at (512, 1024); t75 and b75 evaluate at (768, 1536). Dimensions are (height, width).
Train
Training defaults to 800 epochs, batch 8 and amp=False. The default crop is (512, 1024) for t50/b50 and (768, 768) for t75/b75. Validation keeps the native rectangle. The recipe combines cross-entropy, Dice and edge losses with auxiliary heads.
Dataset setup describes the required training data.
from libreyolo import LibreYOLO model = LibreYOLO("LibrePPLiteSegt50-sem.pt", device="cpu")# Semantic segmentation dataset YAML: images plus single-channel class-ID masks.model.train(data="path/to/your/semantic.yaml", epochs=1, device="cpu", workers=0)Validate
from libreyolo import LibreYOLO model = LibreYOLO("LibrePPLiteSegt50-sem.pt", device="cpu")# Semantic segmentation dataset YAML with 19 Cityscapes classes, like cityscapes.yaml.metrics = model.val(data="path/to/your/semantic.yaml", workers=0)print(metrics)Use the dataset format for this task. Validation explains the dataset requirements and returned metrics.
Export
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Semantic segmentation | Semantic segmentation to ONNX: supported | Semantic segmentation to TorchScript: supported | Semantic segmentation to ExecuTorch: not supported | Semantic segmentation to TensorRT: supported | Semantic segmentation to OpenVINO: supported | Semantic segmentation to Paddle: not supported | Semantic segmentation to MNN: not supported | Semantic segmentation to RKNN: not supported | Semantic segmentation to ncnn: not supported | Semantic segmentation to TFLite: not supported | Semantic segmentation to CoreML: not supported | Semantic segmentation to Core AI: not supported |
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibrePPLiteSegt50-sem.pt", device="cpu")model.export(format="onnx")Export setup lists format dependencies and loading exported artifacts.
Checkpoints
| File | Weights license |
|---|---|
| Semantic segmentation | |
| LibrePPLiteSegt50-sem.pt | apache-2.0 |
| LibrePPLiteSegb50-sem.pt | apache-2.0 |
| LibrePPLiteSegt75-sem.pt | apache-2.0 |
| LibrePPLiteSegb75-sem.pt | apache-2.0 |
Every file above exists in the LibreYOLO org today and downloads on first use.
Licensing
Check the license on the Hugging Face repository of the specific weights you download. Every checkpoint in the LibreYOLO org carries one, and they are not always the same across a family. That repository is the authoritative source; the summary below describes what applied when this page was last verified.
This is a description of the licenses involved, not legal advice. If the answer matters commercially, read the licenses yourself and take your own counsel.
- Original work
- PP-LiteSeg, PaddlePaddle
- Upstream license
- Apache-2.0
- Upstream source
- github.com/PaddlePaddle/PaddleSeg
- LibreYOLO code
- MIT
- Weights
- Apache-2.0, republished at huggingface.co/LibreYOLO
- Interpretation
- The upstream implementation declares Apache-2.0. The STDC backbone also carries its original MIT attribution. The released checkpoints are converted from the Deci-AI/super-gradients Cityscapes artifacts; SuperGradients is released under Apache-2.0 and grants separate weight licenses only for YOLO-NAS, so these checkpoints carry Apache-2.0.