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.
Files changed (445) hide show
  1. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/MANIFEST.in +7 -0
  2. libreyolo-1.3.0/NOTICE +91 -0
  3. libreyolo-1.3.0/PKG-INFO +205 -0
  4. libreyolo-1.3.0/README.md +106 -0
  5. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/THIRD_PARTY_NOTICES.txt +115 -4
  6. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/__init__.py +68 -5
  7. libreyolo-1.3.0/libreyolo/backends/base.py +2664 -0
  8. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/coreml.py +29 -17
  9. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/ncnn.py +35 -4
  10. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/onnx.py +108 -12
  11. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/openvino.py +46 -8
  12. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/tensorrt.py +81 -33
  13. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/torchscript.py +10 -3
  14. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/__init__.py +6 -1
  15. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/command_utils.py +22 -9
  16. libreyolo-1.3.0/libreyolo/cli/commands/doctor.py +112 -0
  17. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/export.py +65 -17
  18. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/predict.py +79 -6
  19. libreyolo-1.3.0/libreyolo/cli/commands/profile.py +427 -0
  20. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/special.py +11 -33
  21. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/train.py +265 -7
  22. libreyolo-1.3.0/libreyolo/cli/commands/ui.py +69 -0
  23. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/val.py +71 -0
  24. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/config.py +34 -17
  25. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/errors.py +2 -0
  26. libreyolo-1.3.0/libreyolo/config/datasets/coco-pose.yaml +80 -0
  27. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco-val-only.yaml +7 -5
  28. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco.yaml +7 -5
  29. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco5000.yaml +6 -4
  30. libreyolo-1.3.0/libreyolo/config/datasets/coco8-pose.yaml +100 -0
  31. libreyolo-1.3.0/libreyolo/config/datasets/cocostuff.yaml +199 -0
  32. libreyolo-1.3.0/libreyolo/data/__init__.py +88 -0
  33. libreyolo-1.3.0/libreyolo/data/cache.py +125 -0
  34. libreyolo-1.3.0/libreyolo/data/classify_dataset.py +303 -0
  35. libreyolo-1.3.0/libreyolo/data/coco_pose.py +174 -0
  36. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/dataset.py +277 -20
  37. libreyolo-1.3.0/libreyolo/data/depth_dataset.py +357 -0
  38. libreyolo-1.3.0/libreyolo/data/imagenet.py +42 -0
  39. libreyolo-1.3.0/libreyolo/data/imagenet1k.json +1002 -0
  40. libreyolo-1.3.0/libreyolo/data/obb.py +199 -0
  41. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/pose_dataset.py +2 -2
  42. libreyolo-1.3.0/libreyolo/data/pose_metadata.py +82 -0
  43. libreyolo-1.3.0/libreyolo/data/semantic_dataset.py +366 -0
  44. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/utils.py +56 -0
  45. libreyolo-1.3.0/libreyolo/doctor/__init__.py +34 -0
  46. libreyolo-1.3.0/libreyolo/doctor/checks/__init__.py +80 -0
  47. libreyolo-1.3.0/libreyolo/doctor/checks/balance.py +189 -0
  48. libreyolo-1.3.0/libreyolo/doctor/checks/dataset_config.py +128 -0
  49. libreyolo-1.3.0/libreyolo/doctor/checks/files.py +131 -0
  50. libreyolo-1.3.0/libreyolo/doctor/checks/images.py +269 -0
  51. libreyolo-1.3.0/libreyolo/doctor/checks/labels.py +393 -0
  52. libreyolo-1.3.0/libreyolo/doctor/config.py +64 -0
  53. libreyolo-1.3.0/libreyolo/doctor/report.py +162 -0
  54. libreyolo-1.3.0/libreyolo/doctor/runner.py +96 -0
  55. libreyolo-1.3.0/libreyolo/doctor/snapshot.py +431 -0
  56. libreyolo-1.3.0/libreyolo/ensemble/__init__.py +5 -0
  57. libreyolo-1.3.0/libreyolo/ensemble/model.py +547 -0
  58. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/calibration.py +21 -6
  59. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/coreml.py +3 -10
  60. libreyolo-1.3.0/libreyolo/export/exporter.py +1342 -0
  61. libreyolo-1.3.0/libreyolo/export/nms.py +124 -0
  62. libreyolo-1.3.0/libreyolo/export/onnx.py +565 -0
  63. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/tensorrt.py +39 -0
  64. libreyolo-1.3.0/libreyolo/export/tflite.py +754 -0
  65. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/__init__.py +143 -45
  66. libreyolo-1.3.0/libreyolo/models/autoconvert.py +764 -0
  67. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/base/inference.py +496 -67
  68. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/base/model.py +339 -31
  69. libreyolo-1.3.0/libreyolo/models/clip/NOTICE.md +40 -0
  70. libreyolo-1.3.0/libreyolo/models/clip/__init__.py +5 -0
  71. libreyolo-1.3.0/libreyolo/models/clip/bpe_simple_vocab_16e6.txt.gz +0 -0
  72. libreyolo-1.3.0/libreyolo/models/clip/data/imagenet1k.json +2006 -0
  73. libreyolo-1.3.0/libreyolo/models/clip/data/imagenet_templates.json +82 -0
  74. libreyolo-1.3.0/libreyolo/models/clip/export.py +84 -0
  75. libreyolo-1.3.0/libreyolo/models/clip/labels.py +68 -0
  76. libreyolo-1.3.0/libreyolo/models/clip/model.py +422 -0
  77. libreyolo-1.3.0/libreyolo/models/clip/nn.py +231 -0
  78. libreyolo-1.3.0/libreyolo/models/clip/tokenizer.py +222 -0
  79. libreyolo-1.3.0/libreyolo/models/convnext/NOTICE +32 -0
  80. libreyolo-1.3.0/libreyolo/models/convnext/__init__.py +5 -0
  81. libreyolo-1.3.0/libreyolo/models/convnext/config.py +31 -0
  82. libreyolo-1.3.0/libreyolo/models/convnext/model.py +245 -0
  83. libreyolo-1.3.0/libreyolo/models/convnext/nn.py +199 -0
  84. libreyolo-1.3.0/libreyolo/models/convnext/trainer.py +59 -0
  85. libreyolo-1.3.0/libreyolo/models/convnext/utils.py +65 -0
  86. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/decoder.py +5 -1
  87. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/model.py +26 -1
  88. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/ms_deform.py +69 -7
  89. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/trainer.py +30 -2
  90. libreyolo-1.3.0/libreyolo/models/deim/utils.py +71 -0
  91. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/deim_decoder.py +5 -1
  92. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/model.py +27 -1
  93. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/utils.py +2 -1
  94. libreyolo-1.3.0/libreyolo/models/depth_anything/__init__.py +5 -0
  95. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/__init__.py +10 -0
  96. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2.py +415 -0
  97. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/__init__.py +11 -0
  98. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/attention.py +83 -0
  99. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/block.py +252 -0
  100. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/drop_path.py +35 -0
  101. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/layer_scale.py +28 -0
  102. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/mlp.py +41 -0
  103. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/patch_embed.py +89 -0
  104. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dinov2_layers/swiglu_ffn.py +63 -0
  105. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/dpt.py +221 -0
  106. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/util/__init__.py +1 -0
  107. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/util/blocks.py +148 -0
  108. libreyolo-1.3.0/libreyolo/models/depth_anything/_vendor/util/transform.py +158 -0
  109. libreyolo-1.3.0/libreyolo/models/depth_anything/model.py +236 -0
  110. libreyolo-1.3.0/libreyolo/models/depth_anything/nn.py +63 -0
  111. libreyolo-1.3.0/libreyolo/models/depth_anything/utils.py +36 -0
  112. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/decoder.py +4 -1
  113. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/model.py +26 -1
  114. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/ms_deform.py +69 -7
  115. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/trainer.py +30 -2
  116. libreyolo-1.3.0/libreyolo/models/dfine/utils.py +70 -0
  117. libreyolo-1.3.0/libreyolo/models/dinov2/__init__.py +5 -0
  118. libreyolo-1.3.0/libreyolo/models/dinov2/model.py +670 -0
  119. libreyolo-1.3.0/libreyolo/models/dinov2/trainer.py +24 -0
  120. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/decoder.py +237 -33
  121. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/model.py +247 -30
  122. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/nn.py +19 -5
  123. libreyolo-1.3.0/libreyolo/models/ec/pose_denoising.py +202 -0
  124. libreyolo-1.3.0/libreyolo/models/ec/pose_loss.py +399 -0
  125. libreyolo-1.3.0/libreyolo/models/ec/pose_trainer.py +502 -0
  126. libreyolo-1.3.0/libreyolo/models/ec/pose_transforms.py +302 -0
  127. libreyolo-1.3.0/libreyolo/models/ec/postprocess.py +72 -0
  128. libreyolo-1.3.0/libreyolo/models/ec/seg_loss.py +340 -0
  129. libreyolo-1.3.0/libreyolo/models/ec/seg_trainer.py +231 -0
  130. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/trainer.py +3 -0
  131. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/utils.py +69 -7
  132. libreyolo-1.3.0/libreyolo/models/efficientnetv2/NOTICE +31 -0
  133. libreyolo-1.3.0/libreyolo/models/efficientnetv2/__init__.py +5 -0
  134. libreyolo-1.3.0/libreyolo/models/efficientnetv2/config.py +37 -0
  135. libreyolo-1.3.0/libreyolo/models/efficientnetv2/model.py +250 -0
  136. libreyolo-1.3.0/libreyolo/models/efficientnetv2/nn.py +436 -0
  137. libreyolo-1.3.0/libreyolo/models/efficientnetv2/trainer.py +59 -0
  138. libreyolo-1.3.0/libreyolo/models/efficientnetv2/utils.py +65 -0
  139. libreyolo-1.3.0/libreyolo/models/fomo/__init__.py +5 -0
  140. libreyolo-1.3.0/libreyolo/models/fomo/dataset.py +394 -0
  141. libreyolo-1.3.0/libreyolo/models/fomo/loss.py +29 -0
  142. libreyolo-1.3.0/libreyolo/models/fomo/model.py +261 -0
  143. libreyolo-1.3.0/libreyolo/models/fomo/nn.py +254 -0
  144. libreyolo-1.3.0/libreyolo/models/fomo/trainer.py +279 -0
  145. libreyolo-1.3.0/libreyolo/models/fomo/utils.py +106 -0
  146. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/inference.py +2 -1
  147. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/model.py +3 -0
  148. libreyolo-1.3.0/libreyolo/models/mobilenetv4/NOTICE +24 -0
  149. libreyolo-1.3.0/libreyolo/models/mobilenetv4/__init__.py +5 -0
  150. libreyolo-1.3.0/libreyolo/models/mobilenetv4/config.py +37 -0
  151. libreyolo-1.3.0/libreyolo/models/mobilenetv4/model.py +250 -0
  152. libreyolo-1.3.0/libreyolo/models/mobilenetv4/nn.py +376 -0
  153. libreyolo-1.3.0/libreyolo/models/mobilenetv4/trainer.py +59 -0
  154. libreyolo-1.3.0/libreyolo/models/mobilenetv4/utils.py +64 -0
  155. libreyolo-1.3.0/libreyolo/models/picodet/convert.py +117 -0
  156. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/loss.py +2 -4
  157. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/model.py +24 -4
  158. libreyolo-1.3.0/libreyolo/models/picodet/utils.py +68 -0
  159. libreyolo-1.3.0/libreyolo/models/resnet/NOTICE +21 -0
  160. libreyolo-1.3.0/libreyolo/models/resnet/__init__.py +5 -0
  161. libreyolo-1.3.0/libreyolo/models/resnet/config.py +29 -0
  162. libreyolo-1.3.0/libreyolo/models/resnet/model.py +261 -0
  163. libreyolo-1.3.0/libreyolo/models/resnet/nn.py +156 -0
  164. libreyolo-1.3.0/libreyolo/models/resnet/trainer.py +57 -0
  165. libreyolo-1.3.0/libreyolo/models/resnet/utils.py +58 -0
  166. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/backbone.py +122 -19
  167. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/config.py +15 -0
  168. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/dinov2.py +2 -1
  169. libreyolo-1.3.0/libreyolo/models/rfdetr/keypoints.py +412 -0
  170. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/loss.py +144 -3
  171. libreyolo-1.3.0/libreyolo/models/rfdetr/lwdetr.py +1197 -0
  172. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/matcher.py +154 -12
  173. libreyolo-1.3.0/libreyolo/models/rfdetr/model.py +1258 -0
  174. libreyolo-1.3.0/libreyolo/models/rfdetr/nn.py +866 -0
  175. libreyolo-1.3.0/libreyolo/models/rfdetr/pose_transforms.py +252 -0
  176. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/seg_transforms.py +46 -5
  177. libreyolo-1.3.0/libreyolo/models/rfdetr/trainer.py +1094 -0
  178. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/transformer.py +490 -22
  179. libreyolo-1.3.0/libreyolo/models/rfdetr/utils.py +43 -0
  180. libreyolo-1.3.0/libreyolo/models/rtdetr/convert.py +90 -0
  181. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/model.py +44 -51
  182. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/trainer.py +4 -0
  183. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/model.py +23 -0
  184. libreyolo-1.3.0/libreyolo/models/rtdetrv4/convert.py +37 -0
  185. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv4/model.py +42 -0
  186. libreyolo-1.3.0/libreyolo/models/rtmdet/convert.py +40 -0
  187. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/model.py +20 -1
  188. libreyolo-1.3.0/libreyolo/models/rtmdet/utils.py +73 -0
  189. libreyolo-1.3.0/libreyolo/models/sam/__init__.py +12 -0
  190. libreyolo-1.3.0/libreyolo/models/sam/base.py +644 -0
  191. libreyolo-1.3.0/libreyolo/models/sam/model.py +90 -0
  192. libreyolo-1.3.0/libreyolo/models/sam/prompts.py +182 -0
  193. libreyolo-1.3.0/libreyolo/models/vlm/__init__.py +96 -0
  194. libreyolo-1.3.0/libreyolo/models/vlm/base.py +539 -0
  195. libreyolo-1.3.0/libreyolo/models/vlm/florence2.py +126 -0
  196. libreyolo-1.3.0/libreyolo/models/vlm/internvl3.py +105 -0
  197. libreyolo-1.3.0/libreyolo/models/vlm/kosmos2.py +120 -0
  198. libreyolo-1.3.0/libreyolo/models/vlm/lfm2.py +52 -0
  199. libreyolo-1.3.0/libreyolo/models/vlm/locateanything.py +399 -0
  200. libreyolo-1.3.0/libreyolo/models/vlm/parsing.py +299 -0
  201. libreyolo-1.3.0/libreyolo/models/vlm/qwen3vl.py +53 -0
  202. libreyolo-1.3.0/libreyolo/models/vlm/smolvlm.py +36 -0
  203. libreyolo-1.3.0/libreyolo/models/yolo9/convert.py +323 -0
  204. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/loss.py +381 -2
  205. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/model.py +218 -19
  206. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/nn.py +23 -119
  207. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/trainer.py +42 -10
  208. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/transforms.py +57 -4
  209. libreyolo-1.3.0/libreyolo/models/yolo9/utils.py +110 -0
  210. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/model.py +24 -1
  211. libreyolo-1.3.0/libreyolo/models/yolo9_e2e/utils.py +10 -0
  212. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/model.py +128 -2
  213. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/pose_trainer.py +1 -14
  214. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/pose_transforms.py +31 -5
  215. libreyolo-1.3.0/libreyolo/models/yolonas/utils.py +114 -0
  216. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/model.py +18 -7
  217. libreyolo-1.3.0/libreyolo/models/yolox/utils.py +83 -0
  218. libreyolo-1.3.0/libreyolo/ops/__init__.py +21 -0
  219. libreyolo-1.3.0/libreyolo/ops/fusion.py +443 -0
  220. libreyolo-1.3.0/libreyolo/postprocess/__init__.py +18 -0
  221. libreyolo-1.3.0/libreyolo/postprocess/common.py +133 -0
  222. libreyolo-1.3.0/libreyolo/postprocess/convnext.py +35 -0
  223. libreyolo-1.3.0/libreyolo/postprocess/deim.py +11 -0
  224. libreyolo-1.2.0.dev0/libreyolo/models/dfine/utils.py → libreyolo-1.3.0/libreyolo/postprocess/dfine.py +13 -60
  225. libreyolo-1.2.0.dev0/libreyolo/models/ec/postprocess.py → libreyolo-1.3.0/libreyolo/postprocess/ec.py +27 -68
  226. libreyolo-1.3.0/libreyolo/postprocess/efficientnetv2.py +35 -0
  227. libreyolo-1.3.0/libreyolo/postprocess/mobilenetv4.py +35 -0
  228. libreyolo-1.2.0.dev0/libreyolo/models/picodet/utils.py → libreyolo-1.3.0/libreyolo/postprocess/picodet.py +8 -59
  229. libreyolo-1.3.0/libreyolo/postprocess/resnet.py +35 -0
  230. libreyolo-1.3.0/libreyolo/postprocess/rfdetr.py +364 -0
  231. libreyolo-1.3.0/libreyolo/postprocess/rtdetr.py +75 -0
  232. libreyolo-1.2.0.dev0/libreyolo/models/rtmdet/utils.py → libreyolo-1.3.0/libreyolo/postprocess/rtmdet.py +8 -65
  233. libreyolo-1.3.0/libreyolo/postprocess/slicing.py +53 -0
  234. libreyolo-1.3.0/libreyolo/postprocess/yolo9.py +490 -0
  235. libreyolo-1.2.0.dev0/libreyolo/models/yolo9_e2e/utils.py → libreyolo-1.3.0/libreyolo/postprocess/yolo9_e2e.py +5 -1
  236. libreyolo-1.2.0.dev0/libreyolo/models/yolonas/utils.py → libreyolo-1.3.0/libreyolo/postprocess/yolonas.py +11 -93
  237. libreyolo-1.2.0.dev0/libreyolo/models/yolox/utils.py → libreyolo-1.3.0/libreyolo/postprocess/yolox.py +6 -71
  238. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tasks.py +38 -2
  239. libreyolo-1.3.0/libreyolo/tracking/__init__.py +7 -0
  240. libreyolo-1.3.0/libreyolo/tracking/_helpers.py +25 -0
  241. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/config.py +63 -0
  242. libreyolo-1.3.0/libreyolo/tracking/ocsort.py +599 -0
  243. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/tracker.py +1 -16
  244. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/__init__.py +6 -0
  245. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/callbacks.py +11 -2
  246. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/config.py +175 -41
  247. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/ddp_spawn.py +9 -0
  248. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/distributed.py +1 -1
  249. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/ema.py +16 -2
  250. libreyolo-1.3.0/libreyolo/training/freezing.py +311 -0
  251. libreyolo-1.3.0/libreyolo/training/loggers/__init__.py +53 -0
  252. libreyolo-1.3.0/libreyolo/training/loggers/base.py +115 -0
  253. libreyolo-1.3.0/libreyolo/training/loggers/mlflow_logger.py +124 -0
  254. libreyolo-1.3.0/libreyolo/training/loggers/tensorboard_logger.py +69 -0
  255. libreyolo-1.3.0/libreyolo/training/loggers/wandb_logger.py +95 -0
  256. libreyolo-1.3.0/libreyolo/training/lora.py +177 -0
  257. libreyolo-1.3.0/libreyolo/training/profiler.py +1064 -0
  258. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/scheduler.py +10 -5
  259. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/trainer.py +855 -85
  260. libreyolo-1.3.0/libreyolo/ui/__init__.py +9 -0
  261. libreyolo-1.3.0/libreyolo/ui/page.py +502 -0
  262. libreyolo-1.3.0/libreyolo/ui/server.py +324 -0
  263. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/download.py +11 -0
  264. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/drawing.py +286 -7
  265. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/general.py +2 -122
  266. libreyolo-1.3.0/libreyolo/utils/model_info.py +255 -0
  267. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/results.py +270 -1
  268. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/serialization.py +16 -0
  269. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/video.py +68 -11
  270. libreyolo-1.3.0/libreyolo/validation/__init__.py +31 -0
  271. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/base.py +9 -0
  272. libreyolo-1.3.0/libreyolo/validation/classify_validator.py +168 -0
  273. libreyolo-1.3.0/libreyolo/validation/clip_validator.py +41 -0
  274. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/coco_evaluator.py +2 -0
  275. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/config.py +7 -1
  276. libreyolo-1.3.0/libreyolo/validation/depth_validator.py +201 -0
  277. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/detection_validator.py +405 -50
  278. libreyolo-1.3.0/libreyolo/validation/fomo_validator.py +234 -0
  279. libreyolo-1.3.0/libreyolo/validation/obb_validator.py +489 -0
  280. libreyolo-1.3.0/libreyolo/validation/point_validator.py +638 -0
  281. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/pose_validator.py +221 -10
  282. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/validation/preprocessors.py +69 -25
  283. libreyolo-1.3.0/libreyolo/validation/semantic_validator.py +162 -0
  284. libreyolo-1.3.0/libreyolo/validation/val_plotter.py +766 -0
  285. libreyolo-1.3.0/libreyolo.egg-info/PKG-INFO +205 -0
  286. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/SOURCES.txt +167 -6
  287. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/requires.txt +51 -0
  288. libreyolo-1.3.0/licenses/Apache-2.0.txt +201 -0
  289. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/pyproject.toml +79 -2
  290. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/weights/LICENSE_NOTICE.txt +13 -0
  291. libreyolo-1.2.0.dev0/NOTICE +0 -44
  292. libreyolo-1.2.0.dev0/PKG-INFO +0 -156
  293. libreyolo-1.2.0.dev0/README.md +0 -97
  294. libreyolo-1.2.0.dev0/libreyolo/backends/base.py +0 -1337
  295. libreyolo-1.2.0.dev0/libreyolo/data/__init__.py +0 -30
  296. libreyolo-1.2.0.dev0/libreyolo/export/exporter.py +0 -789
  297. libreyolo-1.2.0.dev0/libreyolo/export/onnx.py +0 -218
  298. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/__init__.py +0 -4
  299. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/loss.py +0 -369
  300. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/model.py +0 -360
  301. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/nn.py +0 -1705
  302. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/trainer.py +0 -92
  303. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/utils.py +0 -126
  304. libreyolo-1.2.0.dev0/libreyolo/models/deim/utils.py +0 -129
  305. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/lwdetr.py +0 -604
  306. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/model.py +0 -754
  307. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/nn.py +0 -434
  308. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/trainer.py +0 -445
  309. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/utils.py +0 -128
  310. libreyolo-1.2.0.dev0/libreyolo/models/yolo9/utils.py +0 -309
  311. libreyolo-1.2.0.dev0/libreyolo/tracking/__init__.py +0 -6
  312. libreyolo-1.2.0.dev0/libreyolo/validation/__init__.py +0 -14
  313. libreyolo-1.2.0.dev0/libreyolo.egg-info/PKG-INFO +0 -156
  314. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/LICENSE +0 -0
  315. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/assets/parkour.jpg +0 -0
  316. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/assets/parkour_result.jpg +0 -0
  317. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/backends/__init__.py +0 -0
  318. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/aliases.py +0 -0
  319. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/commands/__init__.py +0 -0
  320. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/output.py +0 -0
  321. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/cli/parsing.py +0 -0
  322. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/__init__.py +0 -0
  323. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco128.yaml +0 -0
  324. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/datasets/coco8.yaml +0 -0
  325. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/config/export/tensorrt_default.yaml +0 -0
  326. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/data/yolo_coco_api.py +0 -0
  327. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/__init__.py +0 -0
  328. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/config.py +0 -0
  329. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/ncnn.py +0 -0
  330. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/openvino.py +0 -0
  331. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/export/torchscript.py +0 -0
  332. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/base/__init__.py +0 -0
  333. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/__init__.py +0 -0
  334. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/backbone.py +0 -0
  335. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/box_ops.py +0 -0
  336. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/common.py +0 -0
  337. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/denoising.py +0 -0
  338. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/encoder.py +0 -0
  339. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/fdr.py +0 -0
  340. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/loss.py +0 -0
  341. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/matcher.py +0 -0
  342. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/nn.py +0 -0
  343. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deim/transforms.py +0 -0
  344. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/__init__.py +0 -0
  345. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/__init__.py +0 -0
  346. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/__init__.py +0 -0
  347. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/LICENSE.md +0 -0
  348. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/__init__.py +0 -0
  349. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/attention.py +0 -0
  350. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/block.py +0 -0
  351. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/ffn_layers.py +0 -0
  352. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/layer_scale.py +0 -0
  353. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/patch_embed.py +0 -0
  354. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rms_norm.py +0 -0
  355. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rope_position_encoding.py +0 -0
  356. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/utils/utils.py +0 -0
  357. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3/vision_transformer.py +0 -0
  358. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/dinov3_adapter.py +0 -0
  359. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/backbone/vit_tiny.py +0 -0
  360. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/__init__.py +0 -0
  361. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/deim_utils.py +0 -0
  362. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/hybrid_encoder.py +0 -0
  363. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/engine/deim/lite_encoder.py +0 -0
  364. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/loss.py +0 -0
  365. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/matcher.py +0 -0
  366. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/nn.py +0 -0
  367. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/trainer.py +0 -0
  368. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/deimv2/transforms.py +0 -0
  369. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/__init__.py +0 -0
  370. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/backbone.py +0 -0
  371. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/box_ops.py +0 -0
  372. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/common.py +0 -0
  373. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/denoising.py +0 -0
  374. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/encoder.py +0 -0
  375. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/fdr.py +0 -0
  376. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/loss.py +0 -0
  377. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/matcher.py +0 -0
  378. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/nn.py +0 -0
  379. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/dfine/transforms.py +0 -0
  380. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/__init__.py +0 -0
  381. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/backbone.py +0 -0
  382. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/encoder.py +0 -0
  383. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/ec/loss.py +0 -0
  384. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/__init__.py +0 -0
  385. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/face.py +0 -0
  386. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/nn.py +0 -0
  387. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/l2cs/utils.py +0 -0
  388. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/__init__.py +0 -0
  389. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/nn.py +0 -0
  390. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/picodet/trainer.py +0 -0
  391. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/__init__.py +0 -0
  392. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/box_ops.py +0 -0
  393. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/segmentation.py +0 -0
  394. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rfdetr/tensors.py +0 -0
  395. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/__init__.py +0 -0
  396. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/backbone.py +0 -0
  397. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/box_ops.py +0 -0
  398. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/config.py +0 -0
  399. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/denoising.py +0 -0
  400. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/hgnetv2.py +0 -0
  401. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/loss.py +0 -0
  402. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/nn.py +0 -0
  403. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetr/utils.py +0 -0
  404. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/__init__.py +0 -0
  405. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/decoder.py +0 -0
  406. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/nn.py +0 -0
  407. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/trainer.py +0 -0
  408. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv2/utils.py +0 -0
  409. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv4/__init__.py +0 -0
  410. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtdetrv4/trainer.py +0 -0
  411. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/__init__.py +0 -0
  412. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/loss.py +0 -0
  413. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/nn.py +0 -0
  414. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/rtmdet/trainer.py +0 -0
  415. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9/__init__.py +0 -0
  416. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/__init__.py +0 -0
  417. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/config.py +0 -0
  418. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/loss.py +0 -0
  419. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/nn.py +0 -0
  420. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolo9_e2e/trainer.py +0 -0
  421. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/__init__.py +0 -0
  422. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/loss.py +0 -0
  423. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/nn.py +0 -0
  424. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/trainer.py +0 -0
  425. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolonas/transforms.py +0 -0
  426. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/__init__.py +0 -0
  427. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/loss.py +0 -0
  428. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/nn.py +0 -0
  429. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/models/yolox/trainer.py +0 -0
  430. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/kalman_filter.py +0 -0
  431. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/matching.py +0 -0
  432. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/tracking/strack.py +0 -0
  433. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/artifacts.py +0 -0
  434. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/augment.py +0 -0
  435. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/autobatch.py +0 -0
  436. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/training/train_config.yaml +0 -0
  437. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/__init__.py +0 -0
  438. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/box_ops.py +0 -0
  439. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/image_loader.py +0 -0
  440. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/logging.py +0 -0
  441. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo/utils/predict_args.py +0 -0
  442. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/dependency_links.txt +0 -0
  443. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/entry_points.txt +0 -0
  444. {libreyolo-1.2.0.dev0 → libreyolo-1.3.0}/libreyolo.egg-info/top_level.txt +0 -0
  445. {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.
@@ -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
+ [![Documentation](https://img.shields.io/badge/docs-libreyolo.com-blue)](https://www.libreyolo.com/docs)
107
+ [![PyPI](https://img.shields.io/pypi/v/libreyolo)](https://pypi.org/project/libreyolo/)
108
+ [![PyPI Downloads](https://static.pepy.tech/badge/libreyolo)](https://pepy.tech/projects/libreyolo)
109
+ [![Hugging Face](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-LibreYOLO-yellow)](https://huggingface.co/LibreYOLO)
110
+ [![Benchmarks](https://img.shields.io/badge/benchmarks-visionanalysis.org-purple)](https://www.visionanalysis.org/)
111
+ [![LinkedIn](https://img.shields.io/badge/LinkedIn-LibreYOLO-blue?logo=linkedin)](https://www.linkedin.com/company/libreyolo/)
112
+ [![License](https://img.shields.io/badge/license-MIT-green)](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
+ ![LibreYOLO Detection Example](libreyolo/assets/parkour_result.jpg)
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
+ [![Documentation](https://img.shields.io/badge/docs-libreyolo.com-blue)](https://www.libreyolo.com/docs)
8
+ [![PyPI](https://img.shields.io/pypi/v/libreyolo)](https://pypi.org/project/libreyolo/)
9
+ [![PyPI Downloads](https://static.pepy.tech/badge/libreyolo)](https://pepy.tech/projects/libreyolo)
10
+ [![Hugging Face](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-LibreYOLO-yellow)](https://huggingface.co/LibreYOLO)
11
+ [![Benchmarks](https://img.shields.io/badge/benchmarks-visionanalysis.org-purple)](https://www.visionanalysis.org/)
12
+ [![LinkedIn](https://img.shields.io/badge/LinkedIn-LibreYOLO-blue?logo=linkedin)](https://www.linkedin.com/company/libreyolo/)
13
+ [![License](https://img.shields.io/badge/license-MIT-green)](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
+ ![LibreYOLO Detection Example](libreyolo/assets/parkour_result.jpg)
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/), COCO
72
- evaluation glue (libreyolo/data/yolo_coco_api.py).
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 available at
160
- https://www.apache.org/licenses/LICENSE-2.0 and applies to the
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
  --------------------------------------------------------------------