U-Net

U-Net performs semantic segmentation with an encoder, skip connections and an upsampling decoder.

Tâches
semantic segmentation
Installer
pip install libreyolo
Niveau de support
Pris en charge, depuis v1.6.0. Modèles entraînables complémentaires : maintenus au vert dans la CI, avec des fonctionnalités ajoutées selon les occasions.
Licences
Code MIT, poids Apache-2.0. Usage commercial

Install

bash
pip install "libreyolo"

Predict

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreUNets-sem.pt", device="cpu")result = model(SAMPLE_IMAGE) mask = result.semantic_maskprint(mask.data.shape)   # (H, W) class idsprint(mask.classes)      # sorted class ids present in the image

Weights download from Hugging Face on first use and are cached locally. LibreUNets-sem.pt is a conversion of the Cityscapes UNet-S5-D16 checkpoint from mmsegmentation: the same-padded S5-D16 graph with an FCN head, predicting the 19 Cityscapes classes. Prediction runs the whole frame on the 1024x2048 evaluation canvas.

Train

Use a semantic dataset with image/mask pairs. Training defaults to 160 epochs, batch 4 and amp=False, with a (512, 1024) crop and (1024, 2048) evaluation canvas. The loss includes an auxiliary head. Export is not supported.

Dataset setup describes the required training data.

Python
from libreyolo import LibreUNet # Random initialization: this trains from scratch.model = LibreUNet(size="s", device="cpu")# Replace with your semantic segmentation dataset YAML (image/mask pairs).model.train(data="path/to/your/semantic_dataset.yaml", pretrained=False, epochs=1, device="cpu", workers=0)

Validate

Python
from libreyolo import LibreYOLO # Or a U-Net checkpoint you trained with model.train().model = LibreYOLO("LibreUNets-sem.pt", device="cpu")# Replace with your semantic segmentation dataset YAML (image/mask pairs).metrics = model.val(data="path/to/your/semantic_dataset.yaml", workers=0)print(metrics)

Use the dataset format for this task. Validation explains the dataset requirements and returned metrics.

Checkpoints

FichierLicence des poids
Semantic segmentation
LibreUNets-sem.ptapache-2.0

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licensing

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
U-Net, U-Net authors
Licence du projet d'origine
Apache-2.0
Source du projet d'origine
github.com/open-mmlab/mmsegmentation
Code de LibreYOLO
MIT
Poids
Apache-2.0, republiés sur huggingface.co/LibreYOLO
Interprétation
Apache-2.0 is a permissive license, so this code and these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy you redistribute, and it grants a patent license. LibreYOLO's port follows mmsegmentation's Apache-2.0 UNet-S5-D16 implementation with an FCN head, and LibreUNets-sem.pt is a conversion of mmsegmentation's Cityscapes checkpoint, which upstream releases under Apache-2.0.

Vérifié avec LibreYOLO v1.6.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.