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

bash
pip install "libreyolo"

Predict

Python
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.

Python
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

Python
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

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
Semantic segmentationSemantic segmentation to ONNX: supportedSemantic segmentation to TorchScript: supportedSemantic segmentation to ExecuTorch: not supportedSemantic segmentation to TensorRT: supportedSemantic segmentation to OpenVINO: supportedSemantic segmentation to Paddle: not supportedSemantic segmentation to MNN: not supportedSemantic segmentation to RKNN: not supportedSemantic segmentation to ncnn: not supportedSemantic segmentation to TFLite: not supportedSemantic segmentation to CoreML: not supportedSemantic segmentation to Core AI: not supported
Python
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

FileWeights license
Semantic segmentation
LibrePPLiteSegt50-sem.ptapache-2.0
LibrePPLiteSegb50-sem.ptapache-2.0
LibrePPLiteSegt75-sem.ptapache-2.0
LibrePPLiteSegb75-sem.ptapache-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
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.

Verified against LibreYOLO v1.6.0. Support tables, checkpoints and benchmark numbers on this page are generated from the released library and the published weights, not written by hand.

PP-LiteSeg architecture

Select a variant or family overview, then select a block for details. Open the full diagram to zoom or download SVG and PNG.