libreyolo 1.2.0.dev0__tar.gz → 1.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/MANIFEST.in +13 -0
- libreyolo-1.3.1/NOTICE +130 -0
- libreyolo-1.3.1/PKG-INFO +253 -0
- libreyolo-1.3.1/README.md +145 -0
- libreyolo-1.3.1/THIRD_PARTY_NOTICES.txt +482 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/__init__.py +102 -5
- libreyolo-1.3.1/libreyolo/backends/base.py +2800 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/coreml.py +46 -19
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/ncnn.py +35 -4
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/onnx.py +121 -16
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/openvino.py +46 -8
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/tensorrt.py +87 -34
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/torchscript.py +10 -3
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/__init__.py +38 -4
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/command_utils.py +22 -9
- libreyolo-1.3.1/libreyolo/cli/commands/doctor.py +112 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/export.py +65 -17
- libreyolo-1.3.1/libreyolo/cli/commands/label.py +131 -0
- libreyolo-1.3.1/libreyolo/cli/commands/monitor.py +125 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/predict.py +138 -12
- libreyolo-1.3.1/libreyolo/cli/commands/profile.py +540 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/special.py +17 -37
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/train.py +300 -9
- libreyolo-1.3.1/libreyolo/cli/commands/ui.py +69 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/val.py +151 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/config.py +34 -17
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/errors.py +2 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/parsing.py +28 -5
- libreyolo-1.3.1/libreyolo/config/datasets/ade20k.yaml +316 -0
- libreyolo-1.3.1/libreyolo/config/datasets/cityscapes.yaml +39 -0
- libreyolo-1.3.1/libreyolo/config/datasets/coco-pose.yaml +80 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco-val-only.yaml +7 -5
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco.yaml +7 -5
- libreyolo-1.3.1/libreyolo/config/datasets/coco1000.yaml +161 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco5000.yaml +6 -4
- libreyolo-1.3.1/libreyolo/config/datasets/coco8-pose.yaml +100 -0
- libreyolo-1.3.1/libreyolo/config/datasets/cocostuff.yaml +199 -0
- libreyolo-1.3.1/libreyolo/config/datasets/gopro.yaml +20 -0
- libreyolo-1.3.1/libreyolo/data/__init__.py +98 -0
- libreyolo-1.3.1/libreyolo/data/augment/__init__.py +43 -0
- libreyolo-1.3.1/libreyolo/data/augment/boxes.py +32 -0
- libreyolo-1.3.1/libreyolo/data/augment/color.py +22 -0
- libreyolo-1.3.1/libreyolo/data/augment/constants.py +12 -0
- libreyolo-1.2.0.dev0/libreyolo/models/deim/transforms.py → libreyolo-1.3.1/libreyolo/data/augment/detr.py +48 -25
- libreyolo-1.3.1/libreyolo/data/augment/geometry.py +152 -0
- libreyolo-1.3.1/libreyolo/data/augment/mosaic.py +30 -0
- libreyolo-1.3.1/libreyolo/data/augment/pose.py +155 -0
- libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/seg_transforms.py → libreyolo-1.3.1/libreyolo/data/augment/rfdetr.py +263 -21
- libreyolo-1.3.1/libreyolo/data/augment/segments.py +97 -0
- libreyolo-1.2.0.dev0/libreyolo/models/yolo9/transforms.py → libreyolo-1.3.1/libreyolo/data/augment/yolo9.py +135 -140
- libreyolo-1.2.0.dev0/libreyolo/models/yolonas/transforms.py → libreyolo-1.3.1/libreyolo/data/augment/yolonas.py +17 -26
- libreyolo-1.2.0.dev0/libreyolo/training/augment.py → libreyolo-1.3.1/libreyolo/data/augment/yolox.py +16 -206
- libreyolo-1.3.1/libreyolo/data/cache.py +125 -0
- libreyolo-1.3.1/libreyolo/data/classify_dataset.py +303 -0
- libreyolo-1.3.1/libreyolo/data/coco_pose.py +174 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/dataset.py +306 -24
- libreyolo-1.3.1/libreyolo/data/depth_dataset.py +357 -0
- libreyolo-1.3.1/libreyolo/data/imagenet.py +42 -0
- libreyolo-1.3.1/libreyolo/data/imagenet1k.json +1002 -0
- libreyolo-1.3.1/libreyolo/data/obb.py +199 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/pose_dataset.py +2 -2
- libreyolo-1.3.1/libreyolo/data/pose_metadata.py +82 -0
- libreyolo-1.3.1/libreyolo/data/restore_dataset.py +245 -0
- libreyolo-1.3.1/libreyolo/data/semantic_dataset.py +366 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/utils.py +64 -3
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/yolo_coco_api.py +21 -0
- libreyolo-1.3.1/libreyolo/distillation/__init__.py +51 -0
- libreyolo-1.3.1/libreyolo/distillation/configs.py +60 -0
- libreyolo-1.3.1/libreyolo/distillation/distiller.py +276 -0
- libreyolo-1.3.1/libreyolo/distillation/hooks.py +118 -0
- libreyolo-1.3.1/libreyolo/distillation/losses.py +173 -0
- libreyolo-1.3.1/libreyolo/doctor/__init__.py +34 -0
- libreyolo-1.3.1/libreyolo/doctor/checks/__init__.py +80 -0
- libreyolo-1.3.1/libreyolo/doctor/checks/balance.py +189 -0
- libreyolo-1.3.1/libreyolo/doctor/checks/dataset_config.py +128 -0
- libreyolo-1.3.1/libreyolo/doctor/checks/files.py +131 -0
- libreyolo-1.3.1/libreyolo/doctor/checks/images.py +269 -0
- libreyolo-1.3.1/libreyolo/doctor/checks/labels.py +393 -0
- libreyolo-1.3.1/libreyolo/doctor/config.py +64 -0
- libreyolo-1.3.1/libreyolo/doctor/report.py +162 -0
- libreyolo-1.3.1/libreyolo/doctor/runner.py +96 -0
- libreyolo-1.3.1/libreyolo/doctor/snapshot.py +431 -0
- libreyolo-1.3.1/libreyolo/ensemble/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/ensemble/model.py +547 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/calibration.py +21 -6
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/coreml.py +13 -10
- libreyolo-1.3.1/libreyolo/export/exporter.py +1397 -0
- libreyolo-1.3.1/libreyolo/export/nms.py +124 -0
- libreyolo-1.3.1/libreyolo/export/onnx.py +571 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/tensorrt.py +85 -2
- libreyolo-1.3.1/libreyolo/export/tflite.py +762 -0
- libreyolo-1.3.1/libreyolo/label/__init__.py +19 -0
- libreyolo-1.3.1/libreyolo/label/assist.py +375 -0
- libreyolo-1.3.1/libreyolo/label/boost.py +286 -0
- libreyolo-1.3.1/libreyolo/label/dataset.py +908 -0
- libreyolo-1.3.1/libreyolo/label/embed.py +181 -0
- libreyolo-1.3.1/libreyolo/label/export.py +258 -0
- libreyolo-1.3.1/libreyolo/label/labelio.py +356 -0
- libreyolo-1.3.1/libreyolo/label/page.py +8 -0
- libreyolo-1.3.1/libreyolo/label/projects.py +131 -0
- libreyolo-1.3.1/libreyolo/label/quality.py +58 -0
- libreyolo-1.3.1/libreyolo/label/radar.py +183 -0
- libreyolo-1.3.1/libreyolo/label/sam.py +157 -0
- libreyolo-1.3.1/libreyolo/label/server.py +1071 -0
- libreyolo-1.3.1/libreyolo/label/web/__init__.py +33 -0
- libreyolo-1.3.1/libreyolo/label/web/css.py +454 -0
- libreyolo-1.3.1/libreyolo/label/web/html_body.py +282 -0
- libreyolo-1.3.1/libreyolo/label/web/html_head.py +10 -0
- libreyolo-1.3.1/libreyolo/label/web/html_tail.py +47 -0
- libreyolo-1.3.1/libreyolo/label/web/js_app.py +509 -0
- libreyolo-1.3.1/libreyolo/label/web/js_canvas.py +546 -0
- libreyolo-1.3.1/libreyolo/label/web/js_editor.py +447 -0
- libreyolo-1.3.1/libreyolo/label/web/js_home.py +434 -0
- libreyolo-1.3.1/libreyolo/label/web/js_power.py +292 -0
- libreyolo-1.3.1/libreyolo/label/web/js_state.py +142 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/__init__.py +170 -45
- libreyolo-1.3.1/libreyolo/models/autoconvert.py +764 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/base/inference.py +518 -67
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/base/model.py +401 -30
- libreyolo-1.3.1/libreyolo/models/bert/__init__.py +8 -0
- libreyolo-1.3.1/libreyolo/models/bert/nn.py +127 -0
- libreyolo-1.3.1/libreyolo/models/clip/NOTICE.md +40 -0
- libreyolo-1.3.1/libreyolo/models/clip/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/clip/bpe_simple_vocab_16e6.txt.gz +0 -0
- libreyolo-1.3.1/libreyolo/models/clip/data/imagenet1k.json +2006 -0
- libreyolo-1.3.1/libreyolo/models/clip/data/imagenet_templates.json +82 -0
- libreyolo-1.3.1/libreyolo/models/clip/export.py +84 -0
- libreyolo-1.3.1/libreyolo/models/clip/labels.py +68 -0
- libreyolo-1.3.1/libreyolo/models/clip/model.py +422 -0
- libreyolo-1.3.1/libreyolo/models/clip/nn.py +231 -0
- libreyolo-1.3.1/libreyolo/models/clip/tokenizer.py +222 -0
- libreyolo-1.3.1/libreyolo/models/convnext/NOTICE +32 -0
- libreyolo-1.3.1/libreyolo/models/convnext/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/convnext/config.py +36 -0
- libreyolo-1.3.1/libreyolo/models/convnext/model.py +248 -0
- libreyolo-1.3.1/libreyolo/models/convnext/nn.py +199 -0
- libreyolo-1.3.1/libreyolo/models/convnext/trainer.py +59 -0
- libreyolo-1.3.1/libreyolo/models/convnext/utils.py +65 -0
- libreyolo-1.3.1/libreyolo/models/darknet/__init__.py +40 -0
- libreyolo-1.3.1/libreyolo/models/darknet/blocks.py +201 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfg.py +112 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/NOTICE +24 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov2-tiny.cfg +139 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov2.cfg +258 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov3-spp.cfg +822 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov3-tiny.cfg +182 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov3.cfg +789 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov4-tiny.cfg +294 -0
- libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov4.cfg +1158 -0
- libreyolo-1.3.1/libreyolo/models/darknet/export.py +31 -0
- libreyolo-1.3.1/libreyolo/models/darknet/family.py +188 -0
- libreyolo-1.3.1/libreyolo/models/darknet/net.py +273 -0
- libreyolo-1.3.1/libreyolo/models/darknet/preprocess.py +60 -0
- libreyolo-1.3.1/libreyolo/models/darknet/reader.py +131 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/decoder.py +5 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/model.py +27 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/ms_deform.py +69 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/trainer.py +30 -2
- libreyolo-1.3.1/libreyolo/models/deim/transforms.py +49 -0
- libreyolo-1.3.1/libreyolo/models/deim/utils.py +71 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/deim_decoder.py +5 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/model.py +28 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/utils.py +2 -1
- libreyolo-1.3.1/libreyolo/models/depth_anything/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/__init__.py +10 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2.py +415 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/__init__.py +11 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/attention.py +83 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/block.py +252 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/drop_path.py +35 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/layer_scale.py +28 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/mlp.py +41 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/patch_embed.py +89 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/swiglu_ffn.py +63 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dpt.py +221 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/util/__init__.py +1 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/util/blocks.py +148 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/util/transform.py +158 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/model.py +236 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/nn.py +63 -0
- libreyolo-1.3.1/libreyolo/models/depth_anything/utils.py +36 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/decoder.py +4 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/model.py +27 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/ms_deform.py +69 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/trainer.py +35 -3
- libreyolo-1.3.1/libreyolo/models/dfine/transforms.py +44 -0
- libreyolo-1.3.1/libreyolo/models/dfine/utils.py +70 -0
- libreyolo-1.3.1/libreyolo/models/dinov2/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/dinov2/model.py +673 -0
- libreyolo-1.3.1/libreyolo/models/dinov2/trainer.py +24 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/decoder.py +237 -33
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/model.py +248 -30
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/nn.py +19 -5
- libreyolo-1.3.1/libreyolo/models/ec/pose_denoising.py +202 -0
- libreyolo-1.3.1/libreyolo/models/ec/pose_loss.py +399 -0
- libreyolo-1.3.1/libreyolo/models/ec/pose_trainer.py +502 -0
- libreyolo-1.3.1/libreyolo/models/ec/pose_transforms.py +213 -0
- libreyolo-1.3.1/libreyolo/models/ec/postprocess.py +72 -0
- libreyolo-1.3.1/libreyolo/models/ec/seg_loss.py +340 -0
- libreyolo-1.3.1/libreyolo/models/ec/seg_trainer.py +231 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/trainer.py +3 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/utils.py +69 -7
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/NOTICE +31 -0
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/config.py +42 -0
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/model.py +253 -0
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/nn.py +436 -0
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/trainer.py +59 -0
- libreyolo-1.3.1/libreyolo/models/efficientnetv2/utils.py +65 -0
- libreyolo-1.3.1/libreyolo/models/eomt/NOTICE +26 -0
- libreyolo-1.3.1/libreyolo/models/eomt/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/eomt/model.py +712 -0
- libreyolo-1.3.1/libreyolo/models/eomt/nn.py +153 -0
- libreyolo-1.3.1/libreyolo/models/fomo/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/fomo/dataset.py +394 -0
- libreyolo-1.3.1/libreyolo/models/fomo/loss.py +29 -0
- libreyolo-1.3.1/libreyolo/models/fomo/model.py +263 -0
- libreyolo-1.3.1/libreyolo/models/fomo/nn.py +254 -0
- libreyolo-1.3.1/libreyolo/models/fomo/trainer.py +279 -0
- libreyolo-1.3.1/libreyolo/models/fomo/utils.py +106 -0
- libreyolo-1.3.1/libreyolo/models/grounding_dino/__init__.py +10 -0
- libreyolo-1.3.1/libreyolo/models/grounding_dino/nn.py +567 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/inference.py +11 -6
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/model.py +3 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/nn.py +6 -5
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/NOTICE +24 -0
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/config.py +42 -0
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/model.py +253 -0
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/nn.py +376 -0
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/trainer.py +59 -0
- libreyolo-1.3.1/libreyolo/models/mobilenetv4/utils.py +64 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/LICENSE +201 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/NOTICE +25 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/__init__.py +7 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/_common.py +40 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/mask_decoder.py +184 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/model.py +247 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/nn.py +726 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/preprocess.py +121 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/prompt_encoder.py +225 -0
- libreyolo-1.3.1/libreyolo/models/mobilesam/transformer.py +242 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/NOTICE +20 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/__init__.py +6 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/config.py +38 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/model.py +223 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/nn.py +384 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/trainer.py +111 -0
- libreyolo-1.3.1/libreyolo/models/nafnet/utils.py +55 -0
- libreyolo-1.3.1/libreyolo/models/omdet_turbo/__init__.py +10 -0
- libreyolo-1.3.1/libreyolo/models/omdet_turbo/nn.py +584 -0
- libreyolo-1.3.1/libreyolo/models/openvocab/__init__.py +62 -0
- libreyolo-1.3.1/libreyolo/models/openvocab/base.py +454 -0
- libreyolo-1.3.1/libreyolo/models/openvocab/grounding_dino.py +221 -0
- libreyolo-1.3.1/libreyolo/models/openvocab/owlv2.py +130 -0
- libreyolo-1.3.1/libreyolo/models/owlv2/__init__.py +10 -0
- libreyolo-1.3.1/libreyolo/models/owlv2/nn.py +356 -0
- libreyolo-1.3.1/libreyolo/models/picodet/convert.py +117 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/loss.py +2 -4
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/model.py +28 -4
- libreyolo-1.3.1/libreyolo/models/picodet/trainer.py +189 -0
- libreyolo-1.3.1/libreyolo/models/picodet/utils.py +68 -0
- libreyolo-1.3.1/libreyolo/models/pidnet/NOTICE +19 -0
- libreyolo-1.3.1/libreyolo/models/pidnet/__init__.py +6 -0
- libreyolo-1.3.1/libreyolo/models/pidnet/model.py +389 -0
- libreyolo-1.3.1/libreyolo/models/pidnet/nn.py +685 -0
- libreyolo-1.3.1/libreyolo/models/resnet/NOTICE +21 -0
- libreyolo-1.3.1/libreyolo/models/resnet/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/resnet/config.py +34 -0
- libreyolo-1.3.1/libreyolo/models/resnet/model.py +264 -0
- libreyolo-1.3.1/libreyolo/models/resnet/nn.py +156 -0
- libreyolo-1.3.1/libreyolo/models/resnet/trainer.py +57 -0
- libreyolo-1.3.1/libreyolo/models/resnet/utils.py +58 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/backbone.py +122 -19
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/config.py +15 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/dinov2.py +2 -1
- libreyolo-1.3.1/libreyolo/models/rfdetr/keypoints.py +412 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/loss.py +144 -3
- libreyolo-1.3.1/libreyolo/models/rfdetr/lwdetr.py +1197 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/matcher.py +154 -12
- libreyolo-1.3.1/libreyolo/models/rfdetr/model.py +1259 -0
- libreyolo-1.3.1/libreyolo/models/rfdetr/nn.py +866 -0
- libreyolo-1.3.1/libreyolo/models/rfdetr/pose_transforms.py +35 -0
- libreyolo-1.3.1/libreyolo/models/rfdetr/seg_transforms.py +43 -0
- libreyolo-1.3.1/libreyolo/models/rfdetr/trainer.py +1094 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/transformer.py +490 -22
- libreyolo-1.3.1/libreyolo/models/rfdetr/utils.py +43 -0
- libreyolo-1.3.1/libreyolo/models/rtdetr/convert.py +90 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/loss.py +11 -10
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/model.py +46 -52
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/trainer.py +11 -2
- libreyolo-1.3.1/libreyolo/models/rtdetr/transforms.py +154 -0
- libreyolo-1.3.1/libreyolo/models/rtdetrv2/loss.py +141 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/model.py +23 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/trainer.py +13 -0
- libreyolo-1.3.1/libreyolo/models/rtdetrv4/convert.py +37 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv4/model.py +43 -0
- libreyolo-1.3.1/libreyolo/models/rtmdet/convert.py +40 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/loss.py +144 -110
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/model.py +30 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/nn.py +1 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/trainer.py +29 -1
- libreyolo-1.3.1/libreyolo/models/rtmdet/utils.py +73 -0
- libreyolo-1.3.1/libreyolo/models/sam/__init__.py +20 -0
- libreyolo-1.3.1/libreyolo/models/sam/base.py +652 -0
- libreyolo-1.3.1/libreyolo/models/sam/model.py +118 -0
- libreyolo-1.3.1/libreyolo/models/sam/prompts.py +182 -0
- libreyolo-1.3.1/libreyolo/models/sam/sam2.py +59 -0
- libreyolo-1.3.1/libreyolo/models/swin/__init__.py +8 -0
- libreyolo-1.3.1/libreyolo/models/swin/nn.py +256 -0
- libreyolo-1.3.1/libreyolo/models/vlm/__init__.py +96 -0
- libreyolo-1.3.1/libreyolo/models/vlm/base.py +539 -0
- libreyolo-1.3.1/libreyolo/models/vlm/florence2.py +126 -0
- libreyolo-1.3.1/libreyolo/models/vlm/internvl3.py +105 -0
- libreyolo-1.3.1/libreyolo/models/vlm/kosmos2.py +120 -0
- libreyolo-1.3.1/libreyolo/models/vlm/lfm2.py +52 -0
- libreyolo-1.3.1/libreyolo/models/vlm/locateanything.py +399 -0
- libreyolo-1.3.1/libreyolo/models/vlm/parsing.py +299 -0
- libreyolo-1.3.1/libreyolo/models/vlm/qwen3vl.py +53 -0
- libreyolo-1.3.1/libreyolo/models/vlm/smolvlm.py +36 -0
- libreyolo-1.3.1/libreyolo/models/yolo2/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/yolo2/model.py +31 -0
- libreyolo-1.3.1/libreyolo/models/yolo3/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/yolo3/model.py +27 -0
- libreyolo-1.3.1/libreyolo/models/yolo4/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/yolo4/model.py +29 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/blocks.py +186 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/export.py +32 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/model.py +131 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/net.py +130 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/utils.py +35 -0
- libreyolo-1.3.1/libreyolo/models/yolo7/v7.yaml +255 -0
- libreyolo-1.3.1/libreyolo/models/yolo9/convert.py +323 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/loss.py +16 -213
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/model.py +258 -21
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/nn.py +129 -177
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/trainer.py +48 -11
- libreyolo-1.3.1/libreyolo/models/yolo9/transforms.py +31 -0
- libreyolo-1.3.1/libreyolo/models/yolo9/utils.py +110 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/model.py +28 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/nn.py +11 -6
- libreyolo-1.3.1/libreyolo/models/yolo9_e2e/utils.py +10 -0
- libreyolo-1.3.1/libreyolo/models/yolo9_p2/__init__.py +5 -0
- libreyolo-1.3.1/libreyolo/models/yolo9_p2/config.py +12 -0
- libreyolo-1.3.1/libreyolo/models/yolo9_p2/model.py +182 -0
- libreyolo-1.3.1/libreyolo/models/yolo9_p2/nn.py +197 -0
- libreyolo-1.3.1/libreyolo/models/yolo9_p2/trainer.py +34 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/model.py +132 -2
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/pose_trainer.py +1 -14
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/pose_transforms.py +42 -113
- libreyolo-1.3.1/libreyolo/models/yolonas/transforms.py +23 -0
- libreyolo-1.3.1/libreyolo/models/yolonas/utils.py +114 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/model.py +37 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/nn.py +1 -26
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/trainer.py +6 -0
- libreyolo-1.3.1/libreyolo/models/yolox/utils.py +83 -0
- libreyolo-1.3.1/libreyolo/ops/__init__.py +21 -0
- libreyolo-1.3.1/libreyolo/ops/fusion.py +443 -0
- libreyolo-1.3.1/libreyolo/postprocess/__init__.py +18 -0
- libreyolo-1.3.1/libreyolo/postprocess/common.py +133 -0
- libreyolo-1.3.1/libreyolo/postprocess/convnext.py +35 -0
- libreyolo-1.3.1/libreyolo/postprocess/darknet_yolo.py +213 -0
- libreyolo-1.3.1/libreyolo/postprocess/deim.py +11 -0
- libreyolo-1.2.0.dev0/libreyolo/models/dfine/utils.py → libreyolo-1.3.1/libreyolo/postprocess/dfine.py +13 -60
- libreyolo-1.2.0.dev0/libreyolo/models/ec/postprocess.py → libreyolo-1.3.1/libreyolo/postprocess/ec.py +27 -68
- libreyolo-1.3.1/libreyolo/postprocess/efficientnetv2.py +35 -0
- libreyolo-1.3.1/libreyolo/postprocess/mobilenetv4.py +35 -0
- libreyolo-1.3.1/libreyolo/postprocess/nafnet.py +39 -0
- libreyolo-1.2.0.dev0/libreyolo/models/picodet/utils.py → libreyolo-1.3.1/libreyolo/postprocess/picodet.py +10 -61
- libreyolo-1.3.1/libreyolo/postprocess/resnet.py +35 -0
- libreyolo-1.3.1/libreyolo/postprocess/rfdetr.py +364 -0
- libreyolo-1.3.1/libreyolo/postprocess/rtdetr.py +75 -0
- libreyolo-1.2.0.dev0/libreyolo/models/rtmdet/utils.py → libreyolo-1.3.1/libreyolo/postprocess/rtmdet.py +8 -65
- libreyolo-1.3.1/libreyolo/postprocess/slicing.py +53 -0
- libreyolo-1.3.1/libreyolo/postprocess/yolo7.py +138 -0
- libreyolo-1.3.1/libreyolo/postprocess/yolo9.py +490 -0
- libreyolo-1.2.0.dev0/libreyolo/models/yolo9_e2e/utils.py → libreyolo-1.3.1/libreyolo/postprocess/yolo9_e2e.py +5 -1
- libreyolo-1.2.0.dev0/libreyolo/models/yolonas/utils.py → libreyolo-1.3.1/libreyolo/postprocess/yolonas.py +11 -93
- libreyolo-1.2.0.dev0/libreyolo/models/yolox/utils.py → libreyolo-1.3.1/libreyolo/postprocess/yolox.py +12 -72
- libreyolo-1.3.1/libreyolo/profiling/__init__.py +18 -0
- libreyolo-1.3.1/libreyolo/profiling/inference.py +412 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tasks.py +45 -2
- libreyolo-1.3.1/libreyolo/tracking/__init__.py +7 -0
- libreyolo-1.3.1/libreyolo/tracking/_helpers.py +25 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/config.py +66 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/matching.py +2 -1
- libreyolo-1.3.1/libreyolo/tracking/ocsort.py +599 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/tracker.py +6 -16
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/__init__.py +10 -1
- libreyolo-1.3.1/libreyolo/training/artifacts.py +558 -0
- libreyolo-1.3.1/libreyolo/training/augment.py +35 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/callbacks.py +11 -2
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/config.py +192 -43
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/ddp_spawn.py +9 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/distributed.py +72 -18
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/ema.py +16 -2
- libreyolo-1.3.1/libreyolo/training/freezing.py +311 -0
- libreyolo-1.3.1/libreyolo/training/loggers/__init__.py +53 -0
- libreyolo-1.3.1/libreyolo/training/loggers/base.py +115 -0
- libreyolo-1.3.1/libreyolo/training/loggers/mlflow_logger.py +124 -0
- libreyolo-1.3.1/libreyolo/training/loggers/tensorboard_logger.py +69 -0
- libreyolo-1.3.1/libreyolo/training/loggers/wandb_logger.py +95 -0
- libreyolo-1.3.1/libreyolo/training/lora.py +177 -0
- libreyolo-1.3.1/libreyolo/training/profiler.py +1067 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/scheduler.py +10 -5
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/trainer.py +1254 -104
- libreyolo-1.3.1/libreyolo/ui/__init__.py +9 -0
- libreyolo-1.3.1/libreyolo/ui/page.py +502 -0
- libreyolo-1.3.1/libreyolo/ui/server.py +324 -0
- libreyolo-1.3.1/libreyolo/ui/train_monitor.py +361 -0
- libreyolo-1.3.1/libreyolo/ui/train_monitor_page.py +361 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/download.py +11 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/drawing.py +286 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/general.py +2 -122
- libreyolo-1.3.1/libreyolo/utils/model_info.py +255 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/results.py +341 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/serialization.py +16 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/video.py +75 -11
- libreyolo-1.3.1/libreyolo/validation/__init__.py +33 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/base.py +9 -0
- libreyolo-1.3.1/libreyolo/validation/classify_validator.py +170 -0
- libreyolo-1.3.1/libreyolo/validation/clip_validator.py +41 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/coco_evaluator.py +20 -6
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/config.py +11 -1
- libreyolo-1.3.1/libreyolo/validation/depth_validator.py +206 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/detection_validator.py +422 -55
- libreyolo-1.3.1/libreyolo/validation/fomo_validator.py +234 -0
- libreyolo-1.3.1/libreyolo/validation/obb_validator.py +493 -0
- libreyolo-1.3.1/libreyolo/validation/point_validator.py +645 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/pose_validator.py +221 -10
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/preprocessors.py +110 -43
- libreyolo-1.3.1/libreyolo/validation/restore_validator.py +189 -0
- libreyolo-1.3.1/libreyolo/validation/semantic_validator.py +162 -0
- libreyolo-1.3.1/libreyolo/validation/val_plotter.py +766 -0
- libreyolo-1.3.1/libreyolo.egg-info/PKG-INFO +253 -0
- libreyolo-1.3.1/libreyolo.egg-info/SOURCES.txt +553 -0
- libreyolo-1.3.1/libreyolo.egg-info/requires.txt +118 -0
- libreyolo-1.3.1/licenses/Apache-2.0.txt +201 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/pyproject.toml +102 -2
- libreyolo-1.3.1/weights/LICENSE_NOTICE.txt +72 -0
- libreyolo-1.2.0.dev0/NOTICE +0 -44
- libreyolo-1.2.0.dev0/PKG-INFO +0 -156
- libreyolo-1.2.0.dev0/README.md +0 -97
- libreyolo-1.2.0.dev0/THIRD_PARTY_NOTICES.txt +0 -212
- libreyolo-1.2.0.dev0/libreyolo/backends/base.py +0 -1337
- libreyolo-1.2.0.dev0/libreyolo/data/__init__.py +0 -30
- libreyolo-1.2.0.dev0/libreyolo/export/exporter.py +0 -789
- libreyolo-1.2.0.dev0/libreyolo/export/onnx.py +0 -218
- libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/__init__.py +0 -4
- libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/loss.py +0 -369
- libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/model.py +0 -360
- libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/nn.py +0 -1705
- libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/trainer.py +0 -92
- libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/utils.py +0 -126
- libreyolo-1.2.0.dev0/libreyolo/models/deim/utils.py +0 -129
- libreyolo-1.2.0.dev0/libreyolo/models/dfine/transforms.py +0 -301
- libreyolo-1.2.0.dev0/libreyolo/models/picodet/trainer.py +0 -105
- libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/lwdetr.py +0 -604
- libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/model.py +0 -754
- libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/nn.py +0 -434
- libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/trainer.py +0 -445
- libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/utils.py +0 -128
- libreyolo-1.2.0.dev0/libreyolo/models/yolo9/utils.py +0 -309
- libreyolo-1.2.0.dev0/libreyolo/tracking/__init__.py +0 -6
- libreyolo-1.2.0.dev0/libreyolo/training/artifacts.py +0 -296
- libreyolo-1.2.0.dev0/libreyolo/validation/__init__.py +0 -14
- libreyolo-1.2.0.dev0/libreyolo.egg-info/PKG-INFO +0 -156
- libreyolo-1.2.0.dev0/libreyolo.egg-info/SOURCES.txt +0 -259
- libreyolo-1.2.0.dev0/libreyolo.egg-info/requires.txt +0 -55
- libreyolo-1.2.0.dev0/weights/LICENSE_NOTICE.txt +0 -40
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/LICENSE +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/assets/parkour.jpg +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/assets/parkour_result.jpg +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/aliases.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/output.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco128.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco8.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/export/tensorrt_default.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/config.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/ncnn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/openvino.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/torchscript.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/base/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/common.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/denoising.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/fdr.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/matcher.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/LICENSE.md +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/attention.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/block.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/ffn_layers.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/layer_scale.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/patch_embed.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rms_norm.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rope_position_encoding.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/utils/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/vision_transformer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3_adapter.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/vit_tiny.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/deim_utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/hybrid_encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/lite_encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/matcher.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/transforms.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/common.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/denoising.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/fdr.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/matcher.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/face.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/segmentation.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/tensors.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/config.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/denoising.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/hgnetv2.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/decoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv4/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv4/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/config.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/kalman_filter.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/strack.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/autobatch.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/train_config.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/image_loader.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/logging.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/predict_args.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo.egg-info/dependency_links.txt +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo.egg-info/entry_points.txt +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo.egg-info/top_level.txt +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/setup.cfg +0 -0
|
@@ -18,9 +18,22 @@ global-exclude *.mp4
|
|
|
18
18
|
# Re-include packaged sample assets (overrides global-exclude above)
|
|
19
19
|
recursive-include libreyolo/assets *.jpg
|
|
20
20
|
recursive-include libreyolo *.yaml
|
|
21
|
+
recursive-include libreyolo/data *.json
|
|
22
|
+
|
|
23
|
+
# LibreCLIP shipped data: vendored BPE vocab + ImageNet labels/templates
|
|
24
|
+
recursive-include libreyolo/models/clip *.gz
|
|
25
|
+
recursive-include libreyolo/models/clip/data *.json
|
|
26
|
+
|
|
27
|
+
# Bundled public-domain Darknet model-definition cfgs (YOLOv2/v3/v4)
|
|
28
|
+
recursive-include libreyolo/models/darknet/cfgs *.cfg
|
|
29
|
+
|
|
30
|
+
# Bundled MIT YOLOv7 model-definition yaml (MultimediaTechLab/YOLO)
|
|
31
|
+
recursive-include libreyolo/models/yolo7 *.yaml
|
|
21
32
|
|
|
22
33
|
# Bundled third-party license texts (must ship with the wheel)
|
|
23
34
|
recursive-include libreyolo/models *.md
|
|
35
|
+
recursive-include libreyolo/models NOTICE
|
|
24
36
|
include THIRD_PARTY_NOTICES.txt
|
|
25
37
|
include weights/LICENSE_NOTICE.txt
|
|
26
38
|
include NOTICE
|
|
39
|
+
include licenses/Apache-2.0.txt
|
libreyolo-1.3.1/NOTICE
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
LibreYOLO
|
|
2
|
+
Copyright (c) The LibreYOLO contributors.
|
|
3
|
+
|
|
4
|
+
LibreYOLO is licensed under the MIT License (see LICENSE).
|
|
5
|
+
|
|
6
|
+
This product bundles third-party source code under non-MIT licenses. The
|
|
7
|
+
bundled files retain their original copyright headers. A copy of each
|
|
8
|
+
upstream license accompanies the corresponding code.
|
|
9
|
+
|
|
10
|
+
------------------------------------------------------------------------
|
|
11
|
+
Bundled third-party source code
|
|
12
|
+
------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
DINOv3 (Meta DINOv3 License Agreement)
|
|
15
|
+
Path: libreyolo/models/deimv2/engine/backbone/dinov3/
|
|
16
|
+
License: libreyolo/models/deimv2/engine/backbone/dinov3/LICENSE.md
|
|
17
|
+
Source: https://github.com/facebookresearch/dinov3
|
|
18
|
+
|
|
19
|
+
The DINOv3 backbone code shipped with the DEIMv2 family is
|
|
20
|
+
redistributed under the DINOv3 License Agreement, a custom
|
|
21
|
+
non-OSI license from Meta Platforms, Inc.
|
|
22
|
+
|
|
23
|
+
Key obligations propagated to downstream users (see LICENSE.md
|
|
24
|
+
for the authoritative text):
|
|
25
|
+
* Redistribution must include a copy of the DINOv3 License
|
|
26
|
+
Agreement (provided as LICENSE.md alongside the code).
|
|
27
|
+
* The DINO Materials may not be used for activities subject
|
|
28
|
+
to ITAR, military or warfare purposes, nuclear industries,
|
|
29
|
+
espionage, or weapons development.
|
|
30
|
+
* The DINO Materials are provided "as is" without warranty.
|
|
31
|
+
|
|
32
|
+
These terms apply only to the DINOv3 subtree listed above. The
|
|
33
|
+
rest of LibreYOLO remains under the MIT License.
|
|
34
|
+
|
|
35
|
+
MobileNetV4 / timm (Apache License 2.0)
|
|
36
|
+
Path: libreyolo/models/mobilenetv4/
|
|
37
|
+
License: libreyolo/models/mobilenetv4/NOTICE (Apache-2.0)
|
|
38
|
+
Source: https://github.com/huggingface/pytorch-image-models
|
|
39
|
+
|
|
40
|
+
The MobileNetV4 architecture (libreyolo/models/mobilenetv4/nn.py) is a
|
|
41
|
+
native re-implementation derived from timm's MobileNetV4
|
|
42
|
+
(Ross Wightman and the timm contributors), licensed Apache-2.0. Module
|
|
43
|
+
naming mirrors timm so its Apache-2.0 ImageNet-1k pretrained weights load
|
|
44
|
+
unchanged and inference is bit-identical. Apache-2.0 is MIT-compatible;
|
|
45
|
+
these terms add only attribution obligations.
|
|
46
|
+
|
|
47
|
+
ConvNeXt / timm (MIT code + Apache-2.0 weights)
|
|
48
|
+
Path: libreyolo/models/convnext/
|
|
49
|
+
License: libreyolo/models/convnext/NOTICE
|
|
50
|
+
Source: https://github.com/facebookresearch/ConvNeXt
|
|
51
|
+
https://github.com/huggingface/pytorch-image-models
|
|
52
|
+
|
|
53
|
+
The ConvNeXt V1 architecture (libreyolo/models/convnext/nn.py) is a native
|
|
54
|
+
re-implementation derived from Meta's ConvNeXt (MIT) and timm's ConvNeXt.
|
|
55
|
+
Module naming mirrors timm so its Apache-2.0 ImageNet-1k `fb_in1k` weights
|
|
56
|
+
load unchanged and inference is bit-identical. ConvNeXt-V2's small
|
|
57
|
+
checkpoints are CC-BY-NC and are intentionally NOT used.
|
|
58
|
+
|
|
59
|
+
EfficientNetV2 / timm (Apache License 2.0)
|
|
60
|
+
Path: libreyolo/models/efficientnetv2/
|
|
61
|
+
License: libreyolo/models/efficientnetv2/NOTICE (Apache-2.0)
|
|
62
|
+
Source: https://github.com/huggingface/pytorch-image-models
|
|
63
|
+
https://github.com/google/automl
|
|
64
|
+
|
|
65
|
+
The EfficientNetV2 architecture (libreyolo/models/efficientnetv2/nn.py) is a
|
|
66
|
+
native re-implementation derived from timm's EfficientNetV2 (Ross Wightman)
|
|
67
|
+
and Google's EfficientNetV2 (google/automl), licensed Apache-2.0. Module
|
|
68
|
+
naming mirrors timm so its Apache-2.0 ImageNet-1k weights load unchanged and
|
|
69
|
+
inference is bit-identical.
|
|
70
|
+
|
|
71
|
+
ResNet / timm (Apache License 2.0)
|
|
72
|
+
Path: libreyolo/models/resnet/
|
|
73
|
+
License: libreyolo/models/resnet/NOTICE (Apache-2.0)
|
|
74
|
+
Source: https://github.com/huggingface/pytorch-image-models
|
|
75
|
+
|
|
76
|
+
The ResNet architecture (libreyolo/models/resnet/nn.py) is a native
|
|
77
|
+
re-implementation of the vanilla ResNet (He et al. 2015, v1.5). Weights are
|
|
78
|
+
timm's `resnet*.a1_in1k` (Ross Wightman), Apache-2.0, ImageNet-1k. Module
|
|
79
|
+
naming mirrors timm/torchvision so weights load unchanged and inference is
|
|
80
|
+
bit-identical.
|
|
81
|
+
|
|
82
|
+
NAFNet (MIT License)
|
|
83
|
+
Path: libreyolo/models/nafnet/
|
|
84
|
+
License: libreyolo/models/nafnet/NOTICE (MIT)
|
|
85
|
+
Source: https://github.com/megvii-research/NAFNet
|
|
86
|
+
|
|
87
|
+
The NAFNet restoration architecture (libreyolo/models/nafnet/nn.py) is a
|
|
88
|
+
native PyTorch implementation derived from Megvii Research's NAFNet
|
|
89
|
+
(MIT). LibreYOLO does not bundle NAFNet pretrained checkpoint files. Some
|
|
90
|
+
published GoPro-trained NAFNet weights do not carry an explicit standalone
|
|
91
|
+
weights license; convert only weights that you have the right to use and
|
|
92
|
+
redistribute.
|
|
93
|
+
|
|
94
|
+
Darknet YOLOv2 / YOLOv3 / YOLOv4 (public domain)
|
|
95
|
+
Path: libreyolo/models/darknet/, libreyolo/models/yolo2|yolo3|yolo4/
|
|
96
|
+
License: libreyolo/models/darknet/cfgs/NOTICE (public domain)
|
|
97
|
+
Source: https://github.com/pjreddie/darknet (YOLOv2/v3)
|
|
98
|
+
https://github.com/AlexeyAB/darknet (YOLOv4)
|
|
99
|
+
|
|
100
|
+
The LibreYOLO2/3/4 families reproduce the YOLOv2, YOLOv3, and YOLOv4
|
|
101
|
+
architectures from the Darknet project, which is public domain (the
|
|
102
|
+
"YOLO LICENSE": "Darknet is public domain. Do whatever you want with
|
|
103
|
+
it."). The model-definition (.cfg) files are bundled under
|
|
104
|
+
libreyolo/models/darknet/cfgs/ and drive both the runtime graph builder
|
|
105
|
+
and the weight converter. Only the .cfg format and the numerical
|
|
106
|
+
behaviour of the Darknet layers are reproduced; no Darknet C source is
|
|
107
|
+
copied. Being public domain, these terms impose no obligations on
|
|
108
|
+
LibreYOLO or its downstream users.
|
|
109
|
+
|
|
110
|
+
YOLOv7 / MultimediaTechLab/YOLO (MIT License)
|
|
111
|
+
Path: libreyolo/models/yolo7/
|
|
112
|
+
Source: https://github.com/MultimediaTechLab/YOLO
|
|
113
|
+
|
|
114
|
+
The LibreYOLO7 family is a native port of YOLOv7 from
|
|
115
|
+
MultimediaTechLab/YOLO (MIT, (c) 2024 Kin-Yiu Wong & Hao-Tang Tsui) —
|
|
116
|
+
the authors' own MIT re-release, NOT the GPL-3.0 WongKinYiu/yolov7.
|
|
117
|
+
Module names mirror upstream so the MIT v7.pt weights load unchanged;
|
|
118
|
+
the model-definition v7.yaml is bundled under libreyolo/models/yolo7/.
|
|
119
|
+
MIT is MIT-compatible; these terms add only attribution obligations.
|
|
120
|
+
|
|
121
|
+
------------------------------------------------------------------------
|
|
122
|
+
Pretrained model weights
|
|
123
|
+
------------------------------------------------------------------------
|
|
124
|
+
|
|
125
|
+
No pretrained weights are distributed in this source tree. LibreYOLO
|
|
126
|
+
weights are published separately on Hugging Face under the LibreYOLO
|
|
127
|
+
organization (https://huggingface.co/LibreYOLO). Each Hugging Face
|
|
128
|
+
model repository ships its own LICENSE and NOTICE reflecting the
|
|
129
|
+
license of the upstream project the weights were derived from. See
|
|
130
|
+
weights/LICENSE_NOTICE.txt for a per-family summary.
|
libreyolo-1.3.1/PKG-INFO
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: libreyolo
|
|
3
|
+
Version: 1.3.1
|
|
4
|
+
Summary: Libre YOLO - An open source YOLO library with MIT license.
|
|
5
|
+
Author: LibreYOLO Team
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/LibreYOLO
|
|
8
|
+
Project-URL: Repository, https://github.com/LibreYOLO/libreyolo
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
License-File: NOTICE
|
|
13
|
+
License-File: THIRD_PARTY_NOTICES.txt
|
|
14
|
+
License-File: weights/LICENSE_NOTICE.txt
|
|
15
|
+
License-File: licenses/Apache-2.0.txt
|
|
16
|
+
Requires-Dist: numpy>=1.19.0
|
|
17
|
+
Requires-Dist: Pillow>=9.1.0
|
|
18
|
+
Requires-Dist: torch>=2.4.0
|
|
19
|
+
Requires-Dist: torchvision>=0.19.0
|
|
20
|
+
Requires-Dist: PyYAML>=6.0
|
|
21
|
+
Requires-Dist: requests>=2.25.0
|
|
22
|
+
Requires-Dist: opencv-python>=4.11.0.86
|
|
23
|
+
Requires-Dist: tqdm>=4.65.0
|
|
24
|
+
Requires-Dist: pycocotools>=2.0.0
|
|
25
|
+
Requires-Dist: typer>=0.9.0
|
|
26
|
+
Requires-Dist: click>=8.0.0
|
|
27
|
+
Requires-Dist: safetensors>=0.4.0
|
|
28
|
+
Requires-Dist: scipy>=1.7.0
|
|
29
|
+
Provides-Extra: onnx
|
|
30
|
+
Requires-Dist: onnx>=1.14.0; extra == "onnx"
|
|
31
|
+
Requires-Dist: onnxsim>=0.4.0; extra == "onnx"
|
|
32
|
+
Requires-Dist: onnxruntime>=1.16.0; extra == "onnx"
|
|
33
|
+
Provides-Extra: rfdetr
|
|
34
|
+
Requires-Dist: transformers>=5.1.0; extra == "rfdetr"
|
|
35
|
+
Provides-Extra: eomt
|
|
36
|
+
Requires-Dist: transformers>=5.1.0; extra == "eomt"
|
|
37
|
+
Provides-Extra: lora
|
|
38
|
+
Requires-Dist: libreyolo[rfdetr]; extra == "lora"
|
|
39
|
+
Requires-Dist: peft>=0.12.0; extra == "lora"
|
|
40
|
+
Provides-Extra: plots
|
|
41
|
+
Requires-Dist: matplotlib>=3.7.0; extra == "plots"
|
|
42
|
+
Provides-Extra: vlm
|
|
43
|
+
Requires-Dist: transformers>=5.1.0; extra == "vlm"
|
|
44
|
+
Requires-Dist: num2words>=0.5.0; extra == "vlm"
|
|
45
|
+
Requires-Dist: decord==0.6.0; extra == "vlm"
|
|
46
|
+
Requires-Dist: lmdb>=1.7.0; extra == "vlm"
|
|
47
|
+
Requires-Dist: peft>=0.12.0; extra == "vlm"
|
|
48
|
+
Provides-Extra: sam
|
|
49
|
+
Requires-Dist: transformers>=5.3.0; extra == "sam"
|
|
50
|
+
Provides-Extra: openvocab
|
|
51
|
+
Requires-Dist: transformers>=5.1.0; extra == "openvocab"
|
|
52
|
+
Provides-Extra: label
|
|
53
|
+
Requires-Dist: libreyolo[sam]; extra == "label"
|
|
54
|
+
Provides-Extra: tensorrt
|
|
55
|
+
Requires-Dist: tensorrt-cu12==10.16.1.11; sys_platform != "darwin" and extra == "tensorrt"
|
|
56
|
+
Requires-Dist: pycuda>=2022.1; sys_platform != "darwin" and extra == "tensorrt"
|
|
57
|
+
Provides-Extra: openvino
|
|
58
|
+
Requires-Dist: openvino>=2024.0.0; extra == "openvino"
|
|
59
|
+
Provides-Extra: ncnn
|
|
60
|
+
Requires-Dist: pnnx; extra == "ncnn"
|
|
61
|
+
Requires-Dist: ncnn; extra == "ncnn"
|
|
62
|
+
Provides-Extra: tflite
|
|
63
|
+
Requires-Dist: libreyolo[onnx]; extra == "tflite"
|
|
64
|
+
Requires-Dist: onnx2tf>=2.4.3; python_version >= "3.12" and extra == "tflite"
|
|
65
|
+
Requires-Dist: onnx-graphsurgeon>=0.3.27; extra == "tflite"
|
|
66
|
+
Requires-Dist: onnx-simplifier>=0.4.36; extra == "tflite"
|
|
67
|
+
Provides-Extra: tracking
|
|
68
|
+
Provides-Extra: rtdetr
|
|
69
|
+
Provides-Extra: gaze
|
|
70
|
+
Requires-Dist: gdown>=5.1.0; extra == "gaze"
|
|
71
|
+
Provides-Extra: clip
|
|
72
|
+
Requires-Dist: regex>=2023.0.0; extra == "clip"
|
|
73
|
+
Requires-Dist: ftfy>=6.0.0; extra == "clip"
|
|
74
|
+
Provides-Extra: clip-convert
|
|
75
|
+
Requires-Dist: libreyolo[clip]; extra == "clip-convert"
|
|
76
|
+
Requires-Dist: open_clip_torch>=2.24.0; extra == "clip-convert"
|
|
77
|
+
Provides-Extra: coreml
|
|
78
|
+
Requires-Dist: coremltools>=8.0; extra == "coreml"
|
|
79
|
+
Provides-Extra: tensorboard
|
|
80
|
+
Requires-Dist: tensorboard>=2.13.0; extra == "tensorboard"
|
|
81
|
+
Provides-Extra: mlflow
|
|
82
|
+
Requires-Dist: mlflow>=2.9.0; extra == "mlflow"
|
|
83
|
+
Provides-Extra: wandb
|
|
84
|
+
Requires-Dist: wandb>=0.16.0; extra == "wandb"
|
|
85
|
+
Provides-Extra: all
|
|
86
|
+
Requires-Dist: libreyolo[onnx]; extra == "all"
|
|
87
|
+
Requires-Dist: libreyolo[rfdetr]; extra == "all"
|
|
88
|
+
Requires-Dist: libreyolo[eomt]; extra == "all"
|
|
89
|
+
Requires-Dist: libreyolo[lora]; extra == "all"
|
|
90
|
+
Requires-Dist: libreyolo[plots]; extra == "all"
|
|
91
|
+
Requires-Dist: libreyolo[tensorrt]; extra == "all"
|
|
92
|
+
Requires-Dist: libreyolo[tflite]; extra == "all"
|
|
93
|
+
Requires-Dist: libreyolo[openvino]; extra == "all"
|
|
94
|
+
Requires-Dist: libreyolo[ncnn]; extra == "all"
|
|
95
|
+
Requires-Dist: libreyolo[tracking]; extra == "all"
|
|
96
|
+
Requires-Dist: libreyolo[rtdetr]; extra == "all"
|
|
97
|
+
Requires-Dist: libreyolo[gaze]; extra == "all"
|
|
98
|
+
Requires-Dist: libreyolo[clip]; extra == "all"
|
|
99
|
+
Requires-Dist: libreyolo[coreml]; extra == "all"
|
|
100
|
+
Requires-Dist: libreyolo[vlm]; extra == "all"
|
|
101
|
+
Requires-Dist: libreyolo[sam]; extra == "all"
|
|
102
|
+
Requires-Dist: libreyolo[label]; extra == "all"
|
|
103
|
+
Requires-Dist: libreyolo[openvocab]; extra == "all"
|
|
104
|
+
Requires-Dist: libreyolo[tensorboard]; extra == "all"
|
|
105
|
+
Requires-Dist: libreyolo[mlflow]; extra == "all"
|
|
106
|
+
Requires-Dist: libreyolo[wandb]; extra == "all"
|
|
107
|
+
Dynamic: license-file
|
|
108
|
+
|
|
109
|
+
# LibreYOLO
|
|
110
|
+
|
|
111
|
+
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
112
|
+
|
|
113
|
+
> ⭐ **Support LibreYOLO.** The best way to help is to **star the repo**. Feel free to [open an issue](https://github.com/LibreYOLO/libreyolo/issues/new) if you encounter problems or have suggestions, and code contributions are very welcome (see [CONTRIBUTING.md](CONTRIBUTING.md)).
|
|
114
|
+
|
|
115
|
+
[](https://www.libreyolo.com/docs)
|
|
116
|
+
[](https://pypi.org/project/libreyolo/)
|
|
117
|
+
[](https://pepy.tech/projects/libreyolo)
|
|
118
|
+
[](https://huggingface.co/LibreYOLO)
|
|
119
|
+
[](https://www.visionanalysis.org/)
|
|
120
|
+
[](https://www.linkedin.com/company/libreyolo/)
|
|
121
|
+
[](LICENSE)
|
|
122
|
+
|
|
123
|
+
MIT-licensed computer vision library with inference and training support for a variety of models. It provides a familiar high-level Python and CLI interface and reads common YOLO-format datasets, so existing workflows port over with minimal changes.
|
|
124
|
+
|
|
125
|
+

|
|
126
|
+
|
|
127
|
+
## Installation & Quick start
|
|
128
|
+
|
|
129
|
+
`pip install libreyolo` covers most users. It comes with the YOLOv9 flagship
|
|
130
|
+
and the other detection models, plus training and inference. Now and then you'll
|
|
131
|
+
add an extra: for a model family with a heavier dependency (for example RF-DETR,
|
|
132
|
+
which needs the large `transformers` library), or for an export backend when you
|
|
133
|
+
need to export a model:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
pip install libreyolo
|
|
137
|
+
|
|
138
|
+
# Add an extra in brackets when you need one (comma-separate to combine),
|
|
139
|
+
# e.g. pip install "libreyolo[rfdetr,onnx]":
|
|
140
|
+
# export: onnx, tensorrt, openvino, ncnn, tflite, coreml
|
|
141
|
+
# models: rfdetr, vlm, sam, openvocab, clip, gaze
|
|
142
|
+
# training: lora, plots, tensorboard, mlflow, wandb
|
|
143
|
+
# or all: pip install "libreyolo[all]"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```python
|
|
147
|
+
from libreyolo import LibreYOLO, SAMPLE_IMAGE
|
|
148
|
+
|
|
149
|
+
model = LibreYOLO("LibreYOLO9t.pt")
|
|
150
|
+
result = model(SAMPLE_IMAGE, save=True)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Image classification works the same way. Load a pretrained ImageNet-1k
|
|
154
|
+
classifier (`MobileNetV4`, `ConvNeXt`, `EfficientNetV2`, or `ResNet`), then
|
|
155
|
+
predict or fine-tune on your own folder-per-class dataset:
|
|
156
|
+
|
|
157
|
+
```python
|
|
158
|
+
from libreyolo import LibreYOLO
|
|
159
|
+
|
|
160
|
+
model = LibreYOLO("LibreResNet50-cls.pt") # weights auto-download on first use
|
|
161
|
+
result = model("image.jpg") # a single image -> one Results
|
|
162
|
+
print(result.probs.top1, float(result.probs.top1conf)) # class index + confidence
|
|
163
|
+
print(result.probs.top5) # indices of the 5 most likely classes
|
|
164
|
+
|
|
165
|
+
# Fine-tune on an ImageFolder dataset (train/ and val/, one sub-folder per
|
|
166
|
+
# class). The classifier head resizes to your class count automatically.
|
|
167
|
+
model.train(data="path/to/dataset", epochs=5)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
For the full list of extras and per-backend notes, see the [docs](https://www.libreyolo.com/docs#installation).
|
|
171
|
+
|
|
172
|
+
To install from source in editable mode (for development or to track unreleased changes):
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
git clone https://github.com/LibreYOLO/libreyolo.git
|
|
176
|
+
cd libreyolo
|
|
177
|
+
pip install -e .
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Flagship models
|
|
181
|
+
|
|
182
|
+
LibreYOLO recommends these model families because they offer the best balance
|
|
183
|
+
and receive the heaviest testing:
|
|
184
|
+
|
|
185
|
+
- **YOLOv9** for CNN-based YOLO models.
|
|
186
|
+
- **RF-DETR** for transformer-based detection and segmentation.
|
|
187
|
+
|
|
188
|
+
## Compatibility
|
|
189
|
+
|
|
190
|
+
`✓` supported, `exp` experimental. Empty cells are not currently supported.
|
|
191
|
+
All trainable families in the Training column accept universal training
|
|
192
|
+
hooks via `callbacks=` and built-in experiment loggers via `loggers=`
|
|
193
|
+
(`tensorboard`, `mlflow`, `wandb`).
|
|
194
|
+
<table>
|
|
195
|
+
<thead>
|
|
196
|
+
<tr>
|
|
197
|
+
<th rowspan="2">Model family</th>
|
|
198
|
+
<th colspan="7">Inference</th>
|
|
199
|
+
<th rowspan="2">Training</th>
|
|
200
|
+
<th colspan="6">Export formats</th>
|
|
201
|
+
</tr>
|
|
202
|
+
<tr>
|
|
203
|
+
<th>Detection</th>
|
|
204
|
+
<th>Segmentation</th>
|
|
205
|
+
<th>Semantic</th>
|
|
206
|
+
<th>Classification</th>
|
|
207
|
+
<th>Pose</th>
|
|
208
|
+
<th>OBB</th>
|
|
209
|
+
<th>Gaze</th>
|
|
210
|
+
<th>ONNX</th>
|
|
211
|
+
<th>TorchScript</th>
|
|
212
|
+
<th>TensorRT</th>
|
|
213
|
+
<th>OpenVINO</th>
|
|
214
|
+
<th>NCNN</th>
|
|
215
|
+
<th>TFLite</th>
|
|
216
|
+
</tr>
|
|
217
|
+
</thead>
|
|
218
|
+
<tbody>
|
|
219
|
+
<tr><td><strong>⭐ YOLOv9</strong></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
|
|
220
|
+
<tr><td><strong>⭐ RF-DETR</strong></td><td>✓</td><td>✓</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td><td>exp</td></tr>
|
|
221
|
+
<tr><td>YOLOX</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
|
|
222
|
+
<tr><td>YOLOv9-E2E</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td></tr>
|
|
223
|
+
<tr><td>YOLOv9-P2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>exp</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
224
|
+
<tr><td>YOLO-NAS</td><td>✓</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
|
|
225
|
+
<tr><td>D-FINE</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
226
|
+
<tr><td>DEIM</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
227
|
+
<tr><td>DEIMv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
228
|
+
<tr><td>RT-DETR</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
229
|
+
<tr><td>RT-DETRv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
230
|
+
<tr><td>RT-DETRv4</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
231
|
+
<tr><td>PicoDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td><td></td></tr>
|
|
232
|
+
<tr><td>RTMDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
233
|
+
<tr><td>EC</td><td>✓</td><td>✓</td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
234
|
+
<tr><td>MobileNetV4</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
235
|
+
<tr><td>ConvNeXt</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
236
|
+
<tr><td>EfficientNetV2</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
237
|
+
<tr><td>ResNet</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
238
|
+
<tr><td>L2CS</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
239
|
+
</tbody>
|
|
240
|
+
</table>
|
|
241
|
+
|
|
242
|
+
YOLOv9-P2 is a small-object variant of YOLOv9 with an extra stride-4 detection
|
|
243
|
+
scale, built for aerial/tiny-object imagery where objects fall below ~16 px
|
|
244
|
+
(on regular datasets like COCO, prefer stock YOLOv9). A VisDrone-trained
|
|
245
|
+
research preview is available as
|
|
246
|
+
[`LibreYOLO9P2s-visdrone.pt`](https://huggingface.co/LibreYOLO/LibreYOLO9P2s-visdrone)
|
|
247
|
+
(non-commercial license); train your own with
|
|
248
|
+
`LibreYOLO9P2(None, size="s").train(..., pretrained="LibreYOLO9s.pt")`.
|
|
249
|
+
|
|
250
|
+
## License
|
|
251
|
+
|
|
252
|
+
- **Code:** MIT License
|
|
253
|
+
- **Weights:** Pre-trained weights may inherit licensing from the original source. Check the license in the specific HF repo of weights that you are interested in. LibreYOLO HF models always have a license.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# LibreYOLO
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
> ⭐ **Support LibreYOLO.** The best way to help is to **star the repo**. Feel free to [open an issue](https://github.com/LibreYOLO/libreyolo/issues/new) if you encounter problems or have suggestions, and code contributions are very welcome (see [CONTRIBUTING.md](CONTRIBUTING.md)).
|
|
6
|
+
|
|
7
|
+
[](https://www.libreyolo.com/docs)
|
|
8
|
+
[](https://pypi.org/project/libreyolo/)
|
|
9
|
+
[](https://pepy.tech/projects/libreyolo)
|
|
10
|
+
[](https://huggingface.co/LibreYOLO)
|
|
11
|
+
[](https://www.visionanalysis.org/)
|
|
12
|
+
[](https://www.linkedin.com/company/libreyolo/)
|
|
13
|
+
[](LICENSE)
|
|
14
|
+
|
|
15
|
+
MIT-licensed computer vision library with inference and training support for a variety of models. It provides a familiar high-level Python and CLI interface and reads common YOLO-format datasets, so existing workflows port over with minimal changes.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
## Installation & Quick start
|
|
20
|
+
|
|
21
|
+
`pip install libreyolo` covers most users. It comes with the YOLOv9 flagship
|
|
22
|
+
and the other detection models, plus training and inference. Now and then you'll
|
|
23
|
+
add an extra: for a model family with a heavier dependency (for example RF-DETR,
|
|
24
|
+
which needs the large `transformers` library), or for an export backend when you
|
|
25
|
+
need to export a model:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pip install libreyolo
|
|
29
|
+
|
|
30
|
+
# Add an extra in brackets when you need one (comma-separate to combine),
|
|
31
|
+
# e.g. pip install "libreyolo[rfdetr,onnx]":
|
|
32
|
+
# export: onnx, tensorrt, openvino, ncnn, tflite, coreml
|
|
33
|
+
# models: rfdetr, vlm, sam, openvocab, clip, gaze
|
|
34
|
+
# training: lora, plots, tensorboard, mlflow, wandb
|
|
35
|
+
# or all: pip install "libreyolo[all]"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
from libreyolo import LibreYOLO, SAMPLE_IMAGE
|
|
40
|
+
|
|
41
|
+
model = LibreYOLO("LibreYOLO9t.pt")
|
|
42
|
+
result = model(SAMPLE_IMAGE, save=True)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Image classification works the same way. Load a pretrained ImageNet-1k
|
|
46
|
+
classifier (`MobileNetV4`, `ConvNeXt`, `EfficientNetV2`, or `ResNet`), then
|
|
47
|
+
predict or fine-tune on your own folder-per-class dataset:
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
from libreyolo import LibreYOLO
|
|
51
|
+
|
|
52
|
+
model = LibreYOLO("LibreResNet50-cls.pt") # weights auto-download on first use
|
|
53
|
+
result = model("image.jpg") # a single image -> one Results
|
|
54
|
+
print(result.probs.top1, float(result.probs.top1conf)) # class index + confidence
|
|
55
|
+
print(result.probs.top5) # indices of the 5 most likely classes
|
|
56
|
+
|
|
57
|
+
# Fine-tune on an ImageFolder dataset (train/ and val/, one sub-folder per
|
|
58
|
+
# class). The classifier head resizes to your class count automatically.
|
|
59
|
+
model.train(data="path/to/dataset", epochs=5)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
For the full list of extras and per-backend notes, see the [docs](https://www.libreyolo.com/docs#installation).
|
|
63
|
+
|
|
64
|
+
To install from source in editable mode (for development or to track unreleased changes):
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
git clone https://github.com/LibreYOLO/libreyolo.git
|
|
68
|
+
cd libreyolo
|
|
69
|
+
pip install -e .
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Flagship models
|
|
73
|
+
|
|
74
|
+
LibreYOLO recommends these model families because they offer the best balance
|
|
75
|
+
and receive the heaviest testing:
|
|
76
|
+
|
|
77
|
+
- **YOLOv9** for CNN-based YOLO models.
|
|
78
|
+
- **RF-DETR** for transformer-based detection and segmentation.
|
|
79
|
+
|
|
80
|
+
## Compatibility
|
|
81
|
+
|
|
82
|
+
`✓` supported, `exp` experimental. Empty cells are not currently supported.
|
|
83
|
+
All trainable families in the Training column accept universal training
|
|
84
|
+
hooks via `callbacks=` and built-in experiment loggers via `loggers=`
|
|
85
|
+
(`tensorboard`, `mlflow`, `wandb`).
|
|
86
|
+
<table>
|
|
87
|
+
<thead>
|
|
88
|
+
<tr>
|
|
89
|
+
<th rowspan="2">Model family</th>
|
|
90
|
+
<th colspan="7">Inference</th>
|
|
91
|
+
<th rowspan="2">Training</th>
|
|
92
|
+
<th colspan="6">Export formats</th>
|
|
93
|
+
</tr>
|
|
94
|
+
<tr>
|
|
95
|
+
<th>Detection</th>
|
|
96
|
+
<th>Segmentation</th>
|
|
97
|
+
<th>Semantic</th>
|
|
98
|
+
<th>Classification</th>
|
|
99
|
+
<th>Pose</th>
|
|
100
|
+
<th>OBB</th>
|
|
101
|
+
<th>Gaze</th>
|
|
102
|
+
<th>ONNX</th>
|
|
103
|
+
<th>TorchScript</th>
|
|
104
|
+
<th>TensorRT</th>
|
|
105
|
+
<th>OpenVINO</th>
|
|
106
|
+
<th>NCNN</th>
|
|
107
|
+
<th>TFLite</th>
|
|
108
|
+
</tr>
|
|
109
|
+
</thead>
|
|
110
|
+
<tbody>
|
|
111
|
+
<tr><td><strong>⭐ YOLOv9</strong></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
|
|
112
|
+
<tr><td><strong>⭐ RF-DETR</strong></td><td>✓</td><td>✓</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td><td>exp</td></tr>
|
|
113
|
+
<tr><td>YOLOX</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
|
|
114
|
+
<tr><td>YOLOv9-E2E</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td></tr>
|
|
115
|
+
<tr><td>YOLOv9-P2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>exp</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
116
|
+
<tr><td>YOLO-NAS</td><td>✓</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
|
|
117
|
+
<tr><td>D-FINE</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
118
|
+
<tr><td>DEIM</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
119
|
+
<tr><td>DEIMv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
120
|
+
<tr><td>RT-DETR</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
|
|
121
|
+
<tr><td>RT-DETRv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
122
|
+
<tr><td>RT-DETRv4</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
123
|
+
<tr><td>PicoDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td><td></td></tr>
|
|
124
|
+
<tr><td>RTMDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
125
|
+
<tr><td>EC</td><td>✓</td><td>✓</td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
126
|
+
<tr><td>MobileNetV4</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
127
|
+
<tr><td>ConvNeXt</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
128
|
+
<tr><td>EfficientNetV2</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
129
|
+
<tr><td>ResNet</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
130
|
+
<tr><td>L2CS</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
|
131
|
+
</tbody>
|
|
132
|
+
</table>
|
|
133
|
+
|
|
134
|
+
YOLOv9-P2 is a small-object variant of YOLOv9 with an extra stride-4 detection
|
|
135
|
+
scale, built for aerial/tiny-object imagery where objects fall below ~16 px
|
|
136
|
+
(on regular datasets like COCO, prefer stock YOLOv9). A VisDrone-trained
|
|
137
|
+
research preview is available as
|
|
138
|
+
[`LibreYOLO9P2s-visdrone.pt`](https://huggingface.co/LibreYOLO/LibreYOLO9P2s-visdrone)
|
|
139
|
+
(non-commercial license); train your own with
|
|
140
|
+
`LibreYOLO9P2(None, size="s").train(..., pretrained="LibreYOLO9s.pt")`.
|
|
141
|
+
|
|
142
|
+
## License
|
|
143
|
+
|
|
144
|
+
- **Code:** MIT License
|
|
145
|
+
- **Weights:** Pre-trained weights may inherit licensing from the original source. Check the license in the specific HF repo of weights that you are interested in. LibreYOLO HF models always have a license.
|