libreyolo 1.2.0.dev0__tar.gz → 1.3.0__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.0}/MANIFEST.in +7 -0
- libreyolo-1.3.0/NOTICE +91 -0
- libreyolo-1.3.0/PKG-INFO +205 -0
- libreyolo-1.3.0/README.md +106 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/THIRD_PARTY_NOTICES.txt +115 -4
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/__init__.py +68 -5
- libreyolo-1.3.0/libreyolo/backends/base.py +2664 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/coreml.py +29 -17
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/ncnn.py +35 -4
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/onnx.py +108 -12
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/openvino.py +46 -8
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/tensorrt.py +81 -33
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/torchscript.py +10 -3
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/__init__.py +6 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/command_utils.py +22 -9
- libreyolo-1.3.0/libreyolo/cli/commands/doctor.py +112 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/export.py +65 -17
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/predict.py +79 -6
- libreyolo-1.3.0/libreyolo/cli/commands/profile.py +427 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/special.py +11 -33
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/train.py +265 -7
- libreyolo-1.3.0/libreyolo/cli/commands/ui.py +69 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/val.py +71 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/config.py +34 -17
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/errors.py +2 -0
- libreyolo-1.3.0/libreyolo/config/datasets/coco-pose.yaml +80 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco-val-only.yaml +7 -5
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco.yaml +7 -5
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco5000.yaml +6 -4
- libreyolo-1.3.0/libreyolo/config/datasets/coco8-pose.yaml +100 -0
- libreyolo-1.3.0/libreyolo/config/datasets/cocostuff.yaml +199 -0
- libreyolo-1.3.0/libreyolo/data/__init__.py +88 -0
- libreyolo-1.3.0/libreyolo/data/cache.py +125 -0
- libreyolo-1.3.0/libreyolo/data/classify_dataset.py +303 -0
- libreyolo-1.3.0/libreyolo/data/coco_pose.py +174 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/dataset.py +277 -20
- libreyolo-1.3.0/libreyolo/data/depth_dataset.py +357 -0
- libreyolo-1.3.0/libreyolo/data/imagenet.py +42 -0
- libreyolo-1.3.0/libreyolo/data/imagenet1k.json +1002 -0
- libreyolo-1.3.0/libreyolo/data/obb.py +199 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/pose_dataset.py +2 -2
- libreyolo-1.3.0/libreyolo/data/pose_metadata.py +82 -0
- libreyolo-1.3.0/libreyolo/data/semantic_dataset.py +366 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/utils.py +56 -0
- libreyolo-1.3.0/libreyolo/doctor/__init__.py +34 -0
- libreyolo-1.3.0/libreyolo/doctor/checks/__init__.py +80 -0
- libreyolo-1.3.0/libreyolo/doctor/checks/balance.py +189 -0
- libreyolo-1.3.0/libreyolo/doctor/checks/dataset_config.py +128 -0
- libreyolo-1.3.0/libreyolo/doctor/checks/files.py +131 -0
- libreyolo-1.3.0/libreyolo/doctor/checks/images.py +269 -0
- libreyolo-1.3.0/libreyolo/doctor/checks/labels.py +393 -0
- libreyolo-1.3.0/libreyolo/doctor/config.py +64 -0
- libreyolo-1.3.0/libreyolo/doctor/report.py +162 -0
- libreyolo-1.3.0/libreyolo/doctor/runner.py +96 -0
- libreyolo-1.3.0/libreyolo/doctor/snapshot.py +431 -0
- libreyolo-1.3.0/libreyolo/ensemble/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/ensemble/model.py +547 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/calibration.py +21 -6
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/coreml.py +3 -10
- libreyolo-1.3.0/libreyolo/export/exporter.py +1342 -0
- libreyolo-1.3.0/libreyolo/export/nms.py +124 -0
- libreyolo-1.3.0/libreyolo/export/onnx.py +565 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/tensorrt.py +39 -0
- libreyolo-1.3.0/libreyolo/export/tflite.py +754 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/__init__.py +143 -45
- libreyolo-1.3.0/libreyolo/models/autoconvert.py +764 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/base/inference.py +496 -67
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/base/model.py +339 -31
- libreyolo-1.3.0/libreyolo/models/clip/NOTICE.md +40 -0
- libreyolo-1.3.0/libreyolo/models/clip/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/clip/bpe_simple_vocab_16e6.txt.gz +0 -0
- libreyolo-1.3.0/libreyolo/models/clip/data/imagenet1k.json +2006 -0
- libreyolo-1.3.0/libreyolo/models/clip/data/imagenet_templates.json +82 -0
- libreyolo-1.3.0/libreyolo/models/clip/export.py +84 -0
- libreyolo-1.3.0/libreyolo/models/clip/labels.py +68 -0
- libreyolo-1.3.0/libreyolo/models/clip/model.py +422 -0
- libreyolo-1.3.0/libreyolo/models/clip/nn.py +231 -0
- libreyolo-1.3.0/libreyolo/models/clip/tokenizer.py +222 -0
- libreyolo-1.3.0/libreyolo/models/convnext/NOTICE +32 -0
- libreyolo-1.3.0/libreyolo/models/convnext/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/convnext/config.py +31 -0
- libreyolo-1.3.0/libreyolo/models/convnext/model.py +245 -0
- libreyolo-1.3.0/libreyolo/models/convnext/nn.py +199 -0
- libreyolo-1.3.0/libreyolo/models/convnext/trainer.py +59 -0
- libreyolo-1.3.0/libreyolo/models/convnext/utils.py +65 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/decoder.py +5 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/model.py +26 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/ms_deform.py +69 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/trainer.py +30 -2
- libreyolo-1.3.0/libreyolo/models/deim/utils.py +71 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/deim_decoder.py +5 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/model.py +27 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/utils.py +2 -1
- libreyolo-1.3.0/libreyolo/models/depth_anything/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/__init__.py +10 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2.py +415 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/__init__.py +11 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/attention.py +83 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/block.py +252 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/drop_path.py +35 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/layer_scale.py +28 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/mlp.py +41 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/patch_embed.py +89 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/swiglu_ffn.py +63 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dpt.py +221 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/util/__init__.py +1 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/util/blocks.py +148 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/util/transform.py +158 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/model.py +236 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/nn.py +63 -0
- libreyolo-1.3.0/libreyolo/models/depth_anything/utils.py +36 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/decoder.py +4 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/model.py +26 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/ms_deform.py +69 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/trainer.py +30 -2
- libreyolo-1.3.0/libreyolo/models/dfine/utils.py +70 -0
- libreyolo-1.3.0/libreyolo/models/dinov2/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/dinov2/model.py +670 -0
- libreyolo-1.3.0/libreyolo/models/dinov2/trainer.py +24 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/decoder.py +237 -33
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/model.py +247 -30
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/nn.py +19 -5
- libreyolo-1.3.0/libreyolo/models/ec/pose_denoising.py +202 -0
- libreyolo-1.3.0/libreyolo/models/ec/pose_loss.py +399 -0
- libreyolo-1.3.0/libreyolo/models/ec/pose_trainer.py +502 -0
- libreyolo-1.3.0/libreyolo/models/ec/pose_transforms.py +302 -0
- libreyolo-1.3.0/libreyolo/models/ec/postprocess.py +72 -0
- libreyolo-1.3.0/libreyolo/models/ec/seg_loss.py +340 -0
- libreyolo-1.3.0/libreyolo/models/ec/seg_trainer.py +231 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/trainer.py +3 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/utils.py +69 -7
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/NOTICE +31 -0
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/config.py +37 -0
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/model.py +250 -0
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/nn.py +436 -0
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/trainer.py +59 -0
- libreyolo-1.3.0/libreyolo/models/efficientnetv2/utils.py +65 -0
- libreyolo-1.3.0/libreyolo/models/fomo/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/fomo/dataset.py +394 -0
- libreyolo-1.3.0/libreyolo/models/fomo/loss.py +29 -0
- libreyolo-1.3.0/libreyolo/models/fomo/model.py +261 -0
- libreyolo-1.3.0/libreyolo/models/fomo/nn.py +254 -0
- libreyolo-1.3.0/libreyolo/models/fomo/trainer.py +279 -0
- libreyolo-1.3.0/libreyolo/models/fomo/utils.py +106 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/inference.py +2 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/model.py +3 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/NOTICE +24 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/config.py +37 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/model.py +250 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/nn.py +376 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/trainer.py +59 -0
- libreyolo-1.3.0/libreyolo/models/mobilenetv4/utils.py +64 -0
- libreyolo-1.3.0/libreyolo/models/picodet/convert.py +117 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/loss.py +2 -4
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/model.py +24 -4
- libreyolo-1.3.0/libreyolo/models/picodet/utils.py +68 -0
- libreyolo-1.3.0/libreyolo/models/resnet/NOTICE +21 -0
- libreyolo-1.3.0/libreyolo/models/resnet/__init__.py +5 -0
- libreyolo-1.3.0/libreyolo/models/resnet/config.py +29 -0
- libreyolo-1.3.0/libreyolo/models/resnet/model.py +261 -0
- libreyolo-1.3.0/libreyolo/models/resnet/nn.py +156 -0
- libreyolo-1.3.0/libreyolo/models/resnet/trainer.py +57 -0
- libreyolo-1.3.0/libreyolo/models/resnet/utils.py +58 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/backbone.py +122 -19
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/config.py +15 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/dinov2.py +2 -1
- libreyolo-1.3.0/libreyolo/models/rfdetr/keypoints.py +412 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/loss.py +144 -3
- libreyolo-1.3.0/libreyolo/models/rfdetr/lwdetr.py +1197 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/matcher.py +154 -12
- libreyolo-1.3.0/libreyolo/models/rfdetr/model.py +1258 -0
- libreyolo-1.3.0/libreyolo/models/rfdetr/nn.py +866 -0
- libreyolo-1.3.0/libreyolo/models/rfdetr/pose_transforms.py +252 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/seg_transforms.py +46 -5
- libreyolo-1.3.0/libreyolo/models/rfdetr/trainer.py +1094 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/transformer.py +490 -22
- libreyolo-1.3.0/libreyolo/models/rfdetr/utils.py +43 -0
- libreyolo-1.3.0/libreyolo/models/rtdetr/convert.py +90 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/model.py +44 -51
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/trainer.py +4 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/model.py +23 -0
- libreyolo-1.3.0/libreyolo/models/rtdetrv4/convert.py +37 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv4/model.py +42 -0
- libreyolo-1.3.0/libreyolo/models/rtmdet/convert.py +40 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/model.py +20 -1
- libreyolo-1.3.0/libreyolo/models/rtmdet/utils.py +73 -0
- libreyolo-1.3.0/libreyolo/models/sam/__init__.py +12 -0
- libreyolo-1.3.0/libreyolo/models/sam/base.py +644 -0
- libreyolo-1.3.0/libreyolo/models/sam/model.py +90 -0
- libreyolo-1.3.0/libreyolo/models/sam/prompts.py +182 -0
- libreyolo-1.3.0/libreyolo/models/vlm/__init__.py +96 -0
- libreyolo-1.3.0/libreyolo/models/vlm/base.py +539 -0
- libreyolo-1.3.0/libreyolo/models/vlm/florence2.py +126 -0
- libreyolo-1.3.0/libreyolo/models/vlm/internvl3.py +105 -0
- libreyolo-1.3.0/libreyolo/models/vlm/kosmos2.py +120 -0
- libreyolo-1.3.0/libreyolo/models/vlm/lfm2.py +52 -0
- libreyolo-1.3.0/libreyolo/models/vlm/locateanything.py +399 -0
- libreyolo-1.3.0/libreyolo/models/vlm/parsing.py +299 -0
- libreyolo-1.3.0/libreyolo/models/vlm/qwen3vl.py +53 -0
- libreyolo-1.3.0/libreyolo/models/vlm/smolvlm.py +36 -0
- libreyolo-1.3.0/libreyolo/models/yolo9/convert.py +323 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/loss.py +381 -2
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/model.py +218 -19
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/nn.py +23 -119
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/trainer.py +42 -10
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/transforms.py +57 -4
- libreyolo-1.3.0/libreyolo/models/yolo9/utils.py +110 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/model.py +24 -1
- libreyolo-1.3.0/libreyolo/models/yolo9_e2e/utils.py +10 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/model.py +128 -2
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/pose_trainer.py +1 -14
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/pose_transforms.py +31 -5
- libreyolo-1.3.0/libreyolo/models/yolonas/utils.py +114 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/model.py +18 -7
- libreyolo-1.3.0/libreyolo/models/yolox/utils.py +83 -0
- libreyolo-1.3.0/libreyolo/ops/__init__.py +21 -0
- libreyolo-1.3.0/libreyolo/ops/fusion.py +443 -0
- libreyolo-1.3.0/libreyolo/postprocess/__init__.py +18 -0
- libreyolo-1.3.0/libreyolo/postprocess/common.py +133 -0
- libreyolo-1.3.0/libreyolo/postprocess/convnext.py +35 -0
- libreyolo-1.3.0/libreyolo/postprocess/deim.py +11 -0
- libreyolo-1.2.0.dev0/libreyolo/models/dfine/utils.py → libreyolo-1.3.0/libreyolo/postprocess/dfine.py +13 -60
- libreyolo-1.2.0.dev0/libreyolo/models/ec/postprocess.py → libreyolo-1.3.0/libreyolo/postprocess/ec.py +27 -68
- libreyolo-1.3.0/libreyolo/postprocess/efficientnetv2.py +35 -0
- libreyolo-1.3.0/libreyolo/postprocess/mobilenetv4.py +35 -0
- libreyolo-1.2.0.dev0/libreyolo/models/picodet/utils.py → libreyolo-1.3.0/libreyolo/postprocess/picodet.py +8 -59
- libreyolo-1.3.0/libreyolo/postprocess/resnet.py +35 -0
- libreyolo-1.3.0/libreyolo/postprocess/rfdetr.py +364 -0
- libreyolo-1.3.0/libreyolo/postprocess/rtdetr.py +75 -0
- libreyolo-1.2.0.dev0/libreyolo/models/rtmdet/utils.py → libreyolo-1.3.0/libreyolo/postprocess/rtmdet.py +8 -65
- libreyolo-1.3.0/libreyolo/postprocess/slicing.py +53 -0
- libreyolo-1.3.0/libreyolo/postprocess/yolo9.py +490 -0
- libreyolo-1.2.0.dev0/libreyolo/models/yolo9_e2e/utils.py → libreyolo-1.3.0/libreyolo/postprocess/yolo9_e2e.py +5 -1
- libreyolo-1.2.0.dev0/libreyolo/models/yolonas/utils.py → libreyolo-1.3.0/libreyolo/postprocess/yolonas.py +11 -93
- libreyolo-1.2.0.dev0/libreyolo/models/yolox/utils.py → libreyolo-1.3.0/libreyolo/postprocess/yolox.py +6 -71
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tasks.py +38 -2
- libreyolo-1.3.0/libreyolo/tracking/__init__.py +7 -0
- libreyolo-1.3.0/libreyolo/tracking/_helpers.py +25 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/config.py +63 -0
- libreyolo-1.3.0/libreyolo/tracking/ocsort.py +599 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/tracker.py +1 -16
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/__init__.py +6 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/callbacks.py +11 -2
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/config.py +175 -41
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/ddp_spawn.py +9 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/distributed.py +1 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/ema.py +16 -2
- libreyolo-1.3.0/libreyolo/training/freezing.py +311 -0
- libreyolo-1.3.0/libreyolo/training/loggers/__init__.py +53 -0
- libreyolo-1.3.0/libreyolo/training/loggers/base.py +115 -0
- libreyolo-1.3.0/libreyolo/training/loggers/mlflow_logger.py +124 -0
- libreyolo-1.3.0/libreyolo/training/loggers/tensorboard_logger.py +69 -0
- libreyolo-1.3.0/libreyolo/training/loggers/wandb_logger.py +95 -0
- libreyolo-1.3.0/libreyolo/training/lora.py +177 -0
- libreyolo-1.3.0/libreyolo/training/profiler.py +1064 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/scheduler.py +10 -5
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/trainer.py +855 -85
- libreyolo-1.3.0/libreyolo/ui/__init__.py +9 -0
- libreyolo-1.3.0/libreyolo/ui/page.py +502 -0
- libreyolo-1.3.0/libreyolo/ui/server.py +324 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/download.py +11 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/drawing.py +286 -7
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/general.py +2 -122
- libreyolo-1.3.0/libreyolo/utils/model_info.py +255 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/results.py +270 -1
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/serialization.py +16 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/video.py +68 -11
- libreyolo-1.3.0/libreyolo/validation/__init__.py +31 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/base.py +9 -0
- libreyolo-1.3.0/libreyolo/validation/classify_validator.py +168 -0
- libreyolo-1.3.0/libreyolo/validation/clip_validator.py +41 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/coco_evaluator.py +2 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/config.py +7 -1
- libreyolo-1.3.0/libreyolo/validation/depth_validator.py +201 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/detection_validator.py +405 -50
- libreyolo-1.3.0/libreyolo/validation/fomo_validator.py +234 -0
- libreyolo-1.3.0/libreyolo/validation/obb_validator.py +489 -0
- libreyolo-1.3.0/libreyolo/validation/point_validator.py +638 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/pose_validator.py +221 -10
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/preprocessors.py +69 -25
- libreyolo-1.3.0/libreyolo/validation/semantic_validator.py +162 -0
- libreyolo-1.3.0/libreyolo/validation/val_plotter.py +766 -0
- libreyolo-1.3.0/libreyolo.egg-info/PKG-INFO +205 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/SOURCES.txt +167 -6
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/requires.txt +51 -0
- libreyolo-1.3.0/licenses/Apache-2.0.txt +201 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/pyproject.toml +79 -2
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/weights/LICENSE_NOTICE.txt +13 -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/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/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/validation/__init__.py +0 -14
- libreyolo-1.2.0.dev0/libreyolo.egg-info/PKG-INFO +0 -156
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/LICENSE +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/assets/parkour.jpg +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/assets/parkour_result.jpg +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/aliases.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/output.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/parsing.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco128.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco8.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/export/tensorrt_default.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/yolo_coco_api.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/config.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/ncnn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/openvino.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/torchscript.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/base/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/common.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/denoising.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/fdr.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/matcher.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/transforms.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/LICENSE.md +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/attention.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/block.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/ffn_layers.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/layer_scale.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/patch_embed.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rms_norm.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rope_position_encoding.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/utils/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/vision_transformer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3_adapter.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/vit_tiny.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/deim_utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/hybrid_encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/lite_encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/matcher.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/transforms.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/common.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/denoising.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/fdr.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/matcher.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/transforms.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/encoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/face.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/segmentation.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/tensors.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/backbone.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/config.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/denoising.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/hgnetv2.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/decoder.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/utils.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv4/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv4/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/config.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/transforms.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/loss.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/nn.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/trainer.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/kalman_filter.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/matching.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/strack.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/artifacts.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/augment.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/autobatch.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/train_config.yaml +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/__init__.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/box_ops.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/image_loader.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/logging.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/predict_args.py +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/dependency_links.txt +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/entry_points.txt +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/top_level.txt +0 -0
- {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/setup.cfg +0 -0
|
@@ -18,9 +18,16 @@ 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
|
|
21
26
|
|
|
22
27
|
# Bundled third-party license texts (must ship with the wheel)
|
|
23
28
|
recursive-include libreyolo/models *.md
|
|
29
|
+
recursive-include libreyolo/models NOTICE
|
|
24
30
|
include THIRD_PARTY_NOTICES.txt
|
|
25
31
|
include weights/LICENSE_NOTICE.txt
|
|
26
32
|
include NOTICE
|
|
33
|
+
include licenses/Apache-2.0.txt
|
libreyolo-1.3.0/NOTICE
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
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
|
+
------------------------------------------------------------------------
|
|
83
|
+
Pretrained model weights
|
|
84
|
+
------------------------------------------------------------------------
|
|
85
|
+
|
|
86
|
+
No pretrained weights are distributed in this source tree. LibreYOLO
|
|
87
|
+
weights are published separately on Hugging Face under the LibreYOLO
|
|
88
|
+
organization (https://huggingface.co/LibreYOLO). Each Hugging Face
|
|
89
|
+
model repository ships its own LICENSE and NOTICE reflecting the
|
|
90
|
+
license of the upstream project the weights were derived from. See
|
|
91
|
+
weights/LICENSE_NOTICE.txt for a per-family summary.
|
libreyolo-1.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: libreyolo
|
|
3
|
+
Version: 1.3.0
|
|
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: lora
|
|
36
|
+
Requires-Dist: libreyolo[rfdetr]; extra == "lora"
|
|
37
|
+
Requires-Dist: peft>=0.12.0; extra == "lora"
|
|
38
|
+
Provides-Extra: plots
|
|
39
|
+
Requires-Dist: matplotlib>=3.7.0; extra == "plots"
|
|
40
|
+
Provides-Extra: vlm
|
|
41
|
+
Requires-Dist: transformers>=5.1.0; extra == "vlm"
|
|
42
|
+
Requires-Dist: num2words>=0.5.0; extra == "vlm"
|
|
43
|
+
Requires-Dist: decord==0.6.0; extra == "vlm"
|
|
44
|
+
Requires-Dist: lmdb>=1.7.0; extra == "vlm"
|
|
45
|
+
Requires-Dist: peft>=0.12.0; extra == "vlm"
|
|
46
|
+
Provides-Extra: sam
|
|
47
|
+
Requires-Dist: transformers>=5.1.0; extra == "sam"
|
|
48
|
+
Provides-Extra: tensorrt
|
|
49
|
+
Requires-Dist: tensorrt-cu12==10.16.1.11; sys_platform != "darwin" and extra == "tensorrt"
|
|
50
|
+
Requires-Dist: pycuda>=2022.1; sys_platform != "darwin" and extra == "tensorrt"
|
|
51
|
+
Provides-Extra: openvino
|
|
52
|
+
Requires-Dist: openvino>=2024.0.0; extra == "openvino"
|
|
53
|
+
Provides-Extra: ncnn
|
|
54
|
+
Requires-Dist: pnnx; extra == "ncnn"
|
|
55
|
+
Requires-Dist: ncnn; extra == "ncnn"
|
|
56
|
+
Provides-Extra: tflite
|
|
57
|
+
Requires-Dist: libreyolo[onnx]; extra == "tflite"
|
|
58
|
+
Requires-Dist: onnx2tf>=2.4.3; python_version >= "3.12" and extra == "tflite"
|
|
59
|
+
Requires-Dist: onnx-graphsurgeon>=0.3.27; extra == "tflite"
|
|
60
|
+
Requires-Dist: onnx-simplifier>=0.4.36; extra == "tflite"
|
|
61
|
+
Provides-Extra: tracking
|
|
62
|
+
Provides-Extra: rtdetr
|
|
63
|
+
Provides-Extra: gaze
|
|
64
|
+
Requires-Dist: gdown>=5.1.0; extra == "gaze"
|
|
65
|
+
Provides-Extra: clip
|
|
66
|
+
Requires-Dist: regex>=2023.0.0; extra == "clip"
|
|
67
|
+
Requires-Dist: ftfy>=6.0.0; extra == "clip"
|
|
68
|
+
Provides-Extra: clip-convert
|
|
69
|
+
Requires-Dist: libreyolo[clip]; extra == "clip-convert"
|
|
70
|
+
Requires-Dist: open_clip_torch>=2.24.0; extra == "clip-convert"
|
|
71
|
+
Provides-Extra: coreml
|
|
72
|
+
Requires-Dist: coremltools>=8.0; extra == "coreml"
|
|
73
|
+
Provides-Extra: tensorboard
|
|
74
|
+
Requires-Dist: tensorboard>=2.13.0; extra == "tensorboard"
|
|
75
|
+
Provides-Extra: mlflow
|
|
76
|
+
Requires-Dist: mlflow>=2.9.0; extra == "mlflow"
|
|
77
|
+
Provides-Extra: wandb
|
|
78
|
+
Requires-Dist: wandb>=0.16.0; extra == "wandb"
|
|
79
|
+
Provides-Extra: all
|
|
80
|
+
Requires-Dist: libreyolo[onnx]; extra == "all"
|
|
81
|
+
Requires-Dist: libreyolo[rfdetr]; extra == "all"
|
|
82
|
+
Requires-Dist: libreyolo[lora]; extra == "all"
|
|
83
|
+
Requires-Dist: libreyolo[plots]; extra == "all"
|
|
84
|
+
Requires-Dist: libreyolo[tensorrt]; extra == "all"
|
|
85
|
+
Requires-Dist: libreyolo[tflite]; extra == "all"
|
|
86
|
+
Requires-Dist: libreyolo[openvino]; extra == "all"
|
|
87
|
+
Requires-Dist: libreyolo[ncnn]; extra == "all"
|
|
88
|
+
Requires-Dist: libreyolo[tracking]; extra == "all"
|
|
89
|
+
Requires-Dist: libreyolo[rtdetr]; extra == "all"
|
|
90
|
+
Requires-Dist: libreyolo[gaze]; extra == "all"
|
|
91
|
+
Requires-Dist: libreyolo[clip]; extra == "all"
|
|
92
|
+
Requires-Dist: libreyolo[coreml]; extra == "all"
|
|
93
|
+
Requires-Dist: libreyolo[vlm]; extra == "all"
|
|
94
|
+
Requires-Dist: libreyolo[sam]; extra == "all"
|
|
95
|
+
Requires-Dist: libreyolo[tensorboard]; extra == "all"
|
|
96
|
+
Requires-Dist: libreyolo[mlflow]; extra == "all"
|
|
97
|
+
Requires-Dist: libreyolo[wandb]; extra == "all"
|
|
98
|
+
Dynamic: license-file
|
|
99
|
+
|
|
100
|
+
# LibreYOLO
|
|
101
|
+
|
|
102
|
+
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
103
|
+
|
|
104
|
+
> ⭐ **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)).
|
|
105
|
+
|
|
106
|
+
[](https://www.libreyolo.com/docs)
|
|
107
|
+
[](https://pypi.org/project/libreyolo/)
|
|
108
|
+
[](https://pepy.tech/projects/libreyolo)
|
|
109
|
+
[](https://huggingface.co/LibreYOLO)
|
|
110
|
+
[](https://www.visionanalysis.org/)
|
|
111
|
+
[](https://www.linkedin.com/company/libreyolo/)
|
|
112
|
+
[](LICENSE)
|
|
113
|
+
|
|
114
|
+
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.
|
|
115
|
+
|
|
116
|
+

|
|
117
|
+
|
|
118
|
+
## Installation & Quick start
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pip install libreyolo
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
To install from source in editable mode (for development or to track unreleased changes):
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
git clone https://github.com/LibreYOLO/libreyolo.git
|
|
128
|
+
cd libreyolo
|
|
129
|
+
pip install -e .
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
For optional runtime and export dependencies such as ONNX Runtime, OpenVINO, TensorRT, NCNN, and RF-DETR, see the [full docs](https://www.libreyolo.com/docs).
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
from libreyolo import LibreYOLO, SAMPLE_IMAGE
|
|
136
|
+
|
|
137
|
+
model = LibreYOLO("LibreYOLO9t.pt")
|
|
138
|
+
result = model(SAMPLE_IMAGE, save=True)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Flagship models
|
|
142
|
+
|
|
143
|
+
LibreYOLO recommends these model families because they offer the best balance
|
|
144
|
+
and receive the heaviest testing:
|
|
145
|
+
|
|
146
|
+
- **YOLOv9** for CNN-based YOLO models.
|
|
147
|
+
- **RF-DETR** for transformer-based detection and segmentation.
|
|
148
|
+
|
|
149
|
+
## Compatibility
|
|
150
|
+
|
|
151
|
+
`✓` supported, `exp` experimental. Empty cells are not currently supported.
|
|
152
|
+
All trainable families in the Training column accept universal training
|
|
153
|
+
hooks via `callbacks=` and built-in experiment loggers via `loggers=`
|
|
154
|
+
(`tensorboard`, `mlflow`, `wandb`).
|
|
155
|
+
<table>
|
|
156
|
+
<thead>
|
|
157
|
+
<tr>
|
|
158
|
+
<th rowspan="2">Model family</th>
|
|
159
|
+
<th colspan="7">Inference</th>
|
|
160
|
+
<th rowspan="2">Training</th>
|
|
161
|
+
<th colspan="6">Export formats</th>
|
|
162
|
+
</tr>
|
|
163
|
+
<tr>
|
|
164
|
+
<th>Detection</th>
|
|
165
|
+
<th>Segmentation</th>
|
|
166
|
+
<th>Semantic</th>
|
|
167
|
+
<th>Classification</th>
|
|
168
|
+
<th>Pose</th>
|
|
169
|
+
<th>OBB</th>
|
|
170
|
+
<th>Gaze</th>
|
|
171
|
+
<th>ONNX</th>
|
|
172
|
+
<th>TorchScript</th>
|
|
173
|
+
<th>TensorRT</th>
|
|
174
|
+
<th>OpenVINO</th>
|
|
175
|
+
<th>NCNN</th>
|
|
176
|
+
<th>TFLite</th>
|
|
177
|
+
</tr>
|
|
178
|
+
</thead>
|
|
179
|
+
<tbody>
|
|
180
|
+
<tr><td><strong>⭐ YOLOv9</strong></td><td>✓</td><td>exp</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></td></tr>
|
|
181
|
+
<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>
|
|
182
|
+
<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>
|
|
183
|
+
<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>
|
|
184
|
+
<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>
|
|
185
|
+
<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>
|
|
186
|
+
<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>
|
|
187
|
+
<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>
|
|
188
|
+
<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>
|
|
189
|
+
<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>
|
|
190
|
+
<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>
|
|
191
|
+
<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>
|
|
192
|
+
<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>
|
|
193
|
+
<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>
|
|
194
|
+
<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>
|
|
195
|
+
<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>
|
|
196
|
+
<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>
|
|
197
|
+
<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>
|
|
198
|
+
<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>
|
|
199
|
+
</tbody>
|
|
200
|
+
</table>
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
- **Code:** MIT License
|
|
205
|
+
- **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,106 @@
|
|
|
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
|
+
```bash
|
|
22
|
+
pip install libreyolo
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
To install from source in editable mode (for development or to track unreleased changes):
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git clone https://github.com/LibreYOLO/libreyolo.git
|
|
29
|
+
cd libreyolo
|
|
30
|
+
pip install -e .
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
For optional runtime and export dependencies such as ONNX Runtime, OpenVINO, TensorRT, NCNN, and RF-DETR, see the [full docs](https://www.libreyolo.com/docs).
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from libreyolo import LibreYOLO, SAMPLE_IMAGE
|
|
37
|
+
|
|
38
|
+
model = LibreYOLO("LibreYOLO9t.pt")
|
|
39
|
+
result = model(SAMPLE_IMAGE, save=True)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Flagship models
|
|
43
|
+
|
|
44
|
+
LibreYOLO recommends these model families because they offer the best balance
|
|
45
|
+
and receive the heaviest testing:
|
|
46
|
+
|
|
47
|
+
- **YOLOv9** for CNN-based YOLO models.
|
|
48
|
+
- **RF-DETR** for transformer-based detection and segmentation.
|
|
49
|
+
|
|
50
|
+
## Compatibility
|
|
51
|
+
|
|
52
|
+
`✓` supported, `exp` experimental. Empty cells are not currently supported.
|
|
53
|
+
All trainable families in the Training column accept universal training
|
|
54
|
+
hooks via `callbacks=` and built-in experiment loggers via `loggers=`
|
|
55
|
+
(`tensorboard`, `mlflow`, `wandb`).
|
|
56
|
+
<table>
|
|
57
|
+
<thead>
|
|
58
|
+
<tr>
|
|
59
|
+
<th rowspan="2">Model family</th>
|
|
60
|
+
<th colspan="7">Inference</th>
|
|
61
|
+
<th rowspan="2">Training</th>
|
|
62
|
+
<th colspan="6">Export formats</th>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr>
|
|
65
|
+
<th>Detection</th>
|
|
66
|
+
<th>Segmentation</th>
|
|
67
|
+
<th>Semantic</th>
|
|
68
|
+
<th>Classification</th>
|
|
69
|
+
<th>Pose</th>
|
|
70
|
+
<th>OBB</th>
|
|
71
|
+
<th>Gaze</th>
|
|
72
|
+
<th>ONNX</th>
|
|
73
|
+
<th>TorchScript</th>
|
|
74
|
+
<th>TensorRT</th>
|
|
75
|
+
<th>OpenVINO</th>
|
|
76
|
+
<th>NCNN</th>
|
|
77
|
+
<th>TFLite</th>
|
|
78
|
+
</tr>
|
|
79
|
+
</thead>
|
|
80
|
+
<tbody>
|
|
81
|
+
<tr><td><strong>⭐ YOLOv9</strong></td><td>✓</td><td>exp</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></td></tr>
|
|
82
|
+
<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>
|
|
83
|
+
<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>
|
|
84
|
+
<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>
|
|
85
|
+
<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>
|
|
86
|
+
<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>
|
|
87
|
+
<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>
|
|
88
|
+
<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>
|
|
89
|
+
<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>
|
|
90
|
+
<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>
|
|
91
|
+
<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>
|
|
92
|
+
<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>
|
|
93
|
+
<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>
|
|
94
|
+
<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>
|
|
95
|
+
<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>
|
|
96
|
+
<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>
|
|
97
|
+
<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>
|
|
98
|
+
<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>
|
|
99
|
+
<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>
|
|
100
|
+
</tbody>
|
|
101
|
+
</table>
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
- **Code:** MIT License
|
|
106
|
+
- **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.
|
|
@@ -32,6 +32,45 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
32
32
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
33
33
|
SOFTWARE.
|
|
34
34
|
|
|
35
|
+
--------------------------------------------------------------------
|
|
36
|
+
CLIP / OpenCLIP (OpenAI; LAION / ML Foundations)
|
|
37
|
+
--------------------------------------------------------------------
|
|
38
|
+
Source: https://github.com/openai/CLIP, https://github.com/mlfoundations/open_clip
|
|
39
|
+
License: MIT
|
|
40
|
+
Copyright (c) 2021 OpenAI; (c) 2012-2021 OpenCLIP authors
|
|
41
|
+
Used for: the LibreCLIP family (libreyolo/models/clip/). The byte-pair-encoding
|
|
42
|
+
text tokenizer (libreyolo/models/clip/tokenizer.py) and the bundled BPE merge
|
|
43
|
+
table (libreyolo/models/clip/bpe_simple_vocab_16e6.txt.gz) are vendored from the
|
|
44
|
+
CLIP / open_clip tokenizer. The image/text towers are a clean-room native torch
|
|
45
|
+
re-implementation of the standard CLIP architecture (no open_clip at runtime).
|
|
46
|
+
|
|
47
|
+
The shipped LibreCLIP weights are converted from OpenCLIP LAION-2B checkpoints,
|
|
48
|
+
which are MIT-redistributable. NOTE: the LAION-2B training data has a documented
|
|
49
|
+
CSAM-content history (Stanford, 2023); use Re-LAION-derived weights. See
|
|
50
|
+
libreyolo/models/clip/NOTICE.md for the full data-provenance note.
|
|
51
|
+
|
|
52
|
+
MIT License
|
|
53
|
+
|
|
54
|
+
Copyright (c) 2021 OpenAI
|
|
55
|
+
|
|
56
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
57
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
58
|
+
in the Software without restriction, including without limitation the rights
|
|
59
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
60
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
61
|
+
furnished to do so, subject to the following conditions:
|
|
62
|
+
|
|
63
|
+
The above copyright notice and this permission notice shall be included in all
|
|
64
|
+
copies or substantial portions of the Software.
|
|
65
|
+
|
|
66
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
67
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
68
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
69
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
70
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
71
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
72
|
+
SOFTWARE.
|
|
73
|
+
|
|
35
74
|
--------------------------------------------------------------------
|
|
36
75
|
YOLOX (Megvii-BaseDetection)
|
|
37
76
|
--------------------------------------------------------------------
|
|
@@ -51,6 +90,25 @@ Copyright (c) 2024 Kin-Yiu Wong and Hao-Tang Tsui
|
|
|
51
90
|
Used for: YOLO9 model family (libreyolo/models/yolo9/), including the
|
|
52
91
|
loss port in libreyolo/models/yolo9/loss.py.
|
|
53
92
|
|
|
93
|
+
--------------------------------------------------------------------
|
|
94
|
+
SuperGradients / YOLO-NAS
|
|
95
|
+
--------------------------------------------------------------------
|
|
96
|
+
Source: https://github.com/Deci-AI/super-gradients
|
|
97
|
+
License: Apache License 2.0
|
|
98
|
+
Copyright (c) 2021-2024 Deci AI
|
|
99
|
+
Used for: YOLO-NAS model family and pose training references
|
|
100
|
+
(libreyolo/models/yolonas/). YOLO-NAS source code is
|
|
101
|
+
Apache-2.0; published pretrained YOLO-NAS weights may have
|
|
102
|
+
separate non-commercial terms and are not bundled here.
|
|
103
|
+
|
|
104
|
+
--------------------------------------------------------------------
|
|
105
|
+
EdgeCrafter
|
|
106
|
+
--------------------------------------------------------------------
|
|
107
|
+
Source: https://github.com/EC-codehub/EdgeCrafter
|
|
108
|
+
License: Apache License 2.0
|
|
109
|
+
Used for: EC model family detection, segmentation, and pose architecture
|
|
110
|
+
references (libreyolo/models/ec/).
|
|
111
|
+
|
|
54
112
|
--------------------------------------------------------------------
|
|
55
113
|
RT-DETR (lyuwenyu)
|
|
56
114
|
--------------------------------------------------------------------
|
|
@@ -68,8 +126,15 @@ RF-DETR (Roboflow)
|
|
|
68
126
|
Source: https://github.com/roboflow/rf-detr
|
|
69
127
|
License: Apache License 2.0
|
|
70
128
|
Copyright (c) 2024-2025 Roboflow, Inc.
|
|
71
|
-
Used for: RF-DETR model family (libreyolo/models/rfdetr/),
|
|
72
|
-
|
|
129
|
+
Used for: RF-DETR model family (libreyolo/models/rfdetr/), LoRA
|
|
130
|
+
adapter recipe helpers (libreyolo/training/lora.py), and
|
|
131
|
+
COCO evaluation glue (libreyolo/data/yolo_coco_api.py).
|
|
132
|
+
Also the GroupPose-style keypoint/pose head, dual-projector,
|
|
133
|
+
keypoint decoder token stream, probabilistic (Cholesky)
|
|
134
|
+
keypoint regression, and keypoint postprocess ported from
|
|
135
|
+
RF-DETR v1.8.0 into libreyolo/models/rfdetr/. The published
|
|
136
|
+
RF-DETR keypoint preview weights (Apache-2.0, COCO person
|
|
137
|
+
pretrained) are redistributed with attribution.
|
|
73
138
|
|
|
74
139
|
--------------------------------------------------------------------
|
|
75
140
|
DINOv2 (Meta AI / facebookresearch)
|
|
@@ -153,11 +218,57 @@ Used for: ResNet_vd pretrained classification backbones loaded by
|
|
|
153
218
|
RT-DETR (libreyolo/models/rtdetr/backbone.py downloads
|
|
154
219
|
ResNet{18,34,50,101}_vd weights that originate here).
|
|
155
220
|
|
|
221
|
+
--------------------------------------------------------------------
|
|
222
|
+
Depth Anything V2 (DepthAnything / TikTok)
|
|
223
|
+
--------------------------------------------------------------------
|
|
224
|
+
Source: https://github.com/DepthAnything/Depth-Anything-V2
|
|
225
|
+
License: Apache License 2.0
|
|
226
|
+
Copyright (c) 2024 Depth Anything V2 authors.
|
|
227
|
+
Citation: Yang, L., Kang, B., Huang, Z., Zhao, Z., Xu, X., Feng, J.,
|
|
228
|
+
and Zhao, H. "Depth Anything V2." NeurIPS 2024.
|
|
229
|
+
Used for: Depth Anything V2 model family (DINOv2 encoder + DPT head)
|
|
230
|
+
vendored under libreyolo/models/depth_anything/_vendor/
|
|
231
|
+
(dinov2, dinov2_layers, dpt, util/{blocks,transform}). Bundled
|
|
232
|
+
verbatim except for added package __init__.py files. The
|
|
233
|
+
LibreYOLO-side wrapper (libreyolo/models/depth_anything/
|
|
234
|
+
{model,nn,utils}.py) adds internal ImageNet normalization and
|
|
235
|
+
the depth-task contract; it does not modify the vendored code.
|
|
236
|
+
|
|
237
|
+
NOTE - code vs. weights: The Apache-2.0 license covers the Depth
|
|
238
|
+
Anything V2 *source code* vendored above. It does NOT cover the
|
|
239
|
+
pretrained weights, which are split: the Small (ViT-S) checkpoint is
|
|
240
|
+
Apache-2.0, while Base/Large/Giant (ViT-B/L/G) are CC-BY-NC-4.0
|
|
241
|
+
(non-commercial). LibreYOLO mirrors the converted checkpoints on its
|
|
242
|
+
Hugging Face org (LibreYOLO/LibreDepthAnythingV2{s,l}-depth) and
|
|
243
|
+
auto-downloads them on demand; each mirror carries the upstream
|
|
244
|
+
license. Users remain responsible for complying with each checkpoint's
|
|
245
|
+
license — in particular, the CC-BY-NC-4.0 checkpoints (Base/Large/
|
|
246
|
+
Giant) are for non-commercial use only. The offline conversion path
|
|
247
|
+
(weights/convert_depth_anything_v2_weights.py) remains available.
|
|
248
|
+
|
|
249
|
+
--------------------------------------------------------------------
|
|
250
|
+
timm / PyTorch Image Models (Hugging Face)
|
|
251
|
+
--------------------------------------------------------------------
|
|
252
|
+
Source: https://github.com/huggingface/pytorch-image-models
|
|
253
|
+
License: Apache License 2.0
|
|
254
|
+
Copyright (c) Ross Wightman and the timm contributors.
|
|
255
|
+
Used for: the native image-classification model families ported from
|
|
256
|
+
timm architectures — libreyolo/models/{mobilenetv4,convnext,
|
|
257
|
+
efficientnetv2,resnet}/. Module/attribute names mirror timm so
|
|
258
|
+
its Apache-2.0 ImageNet-1k pretrained weights load unchanged and
|
|
259
|
+
inference is bit-identical. Architecture lineage: ConvNeXt also
|
|
260
|
+
derives from facebookresearch/ConvNeXt (MIT); EfficientNetV2 from
|
|
261
|
+
google/automl (Apache-2.0); ResNet from He et al. 2015. Weights
|
|
262
|
+
(timm *.in1k / *.fb_in1k / a1_in1k, Apache-2.0) are mirrored on
|
|
263
|
+
the LibreYOLO Hugging Face org. ConvNeXt-V2 fcmae weights
|
|
264
|
+
(CC-BY-NC) are NOT used.
|
|
265
|
+
|
|
156
266
|
--------------------------------------------------------------------
|
|
157
267
|
Apache License 2.0 (full text)
|
|
158
268
|
--------------------------------------------------------------------
|
|
159
|
-
The full text of the Apache License, Version 2.0 is
|
|
160
|
-
|
|
269
|
+
The full text of the Apache License, Version 2.0 is bundled with this
|
|
270
|
+
distribution at licenses/Apache-2.0.txt (also available at
|
|
271
|
+
https://www.apache.org/licenses/LICENSE-2.0) and applies to the
|
|
161
272
|
Apache-2.0 upstreams listed above.
|
|
162
273
|
|
|
163
274
|
--------------------------------------------------------------------
|