libreyolo 1.2.0.dev0__tar.gz → 1.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/MANIFEST.in +13 -0
  2. libreyolo-1.3.1/NOTICE +130 -0
  3. libreyolo-1.3.1/PKG-INFO +253 -0
  4. libreyolo-1.3.1/README.md +145 -0
  5. libreyolo-1.3.1/THIRD_PARTY_NOTICES.txt +482 -0
  6. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/__init__.py +102 -5
  7. libreyolo-1.3.1/libreyolo/backends/base.py +2800 -0
  8. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/coreml.py +46 -19
  9. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/ncnn.py +35 -4
  10. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/onnx.py +121 -16
  11. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/openvino.py +46 -8
  12. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/tensorrt.py +87 -34
  13. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/torchscript.py +10 -3
  14. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/__init__.py +38 -4
  15. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/command_utils.py +22 -9
  16. libreyolo-1.3.1/libreyolo/cli/commands/doctor.py +112 -0
  17. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/export.py +65 -17
  18. libreyolo-1.3.1/libreyolo/cli/commands/label.py +131 -0
  19. libreyolo-1.3.1/libreyolo/cli/commands/monitor.py +125 -0
  20. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/predict.py +138 -12
  21. libreyolo-1.3.1/libreyolo/cli/commands/profile.py +540 -0
  22. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/special.py +17 -37
  23. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/train.py +300 -9
  24. libreyolo-1.3.1/libreyolo/cli/commands/ui.py +69 -0
  25. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/val.py +151 -1
  26. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/config.py +34 -17
  27. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/errors.py +2 -0
  28. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/parsing.py +28 -5
  29. libreyolo-1.3.1/libreyolo/config/datasets/ade20k.yaml +316 -0
  30. libreyolo-1.3.1/libreyolo/config/datasets/cityscapes.yaml +39 -0
  31. libreyolo-1.3.1/libreyolo/config/datasets/coco-pose.yaml +80 -0
  32. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco-val-only.yaml +7 -5
  33. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco.yaml +7 -5
  34. libreyolo-1.3.1/libreyolo/config/datasets/coco1000.yaml +161 -0
  35. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco5000.yaml +6 -4
  36. libreyolo-1.3.1/libreyolo/config/datasets/coco8-pose.yaml +100 -0
  37. libreyolo-1.3.1/libreyolo/config/datasets/cocostuff.yaml +199 -0
  38. libreyolo-1.3.1/libreyolo/config/datasets/gopro.yaml +20 -0
  39. libreyolo-1.3.1/libreyolo/data/__init__.py +98 -0
  40. libreyolo-1.3.1/libreyolo/data/augment/__init__.py +43 -0
  41. libreyolo-1.3.1/libreyolo/data/augment/boxes.py +32 -0
  42. libreyolo-1.3.1/libreyolo/data/augment/color.py +22 -0
  43. libreyolo-1.3.1/libreyolo/data/augment/constants.py +12 -0
  44. libreyolo-1.2.0.dev0/libreyolo/models/deim/transforms.py → libreyolo-1.3.1/libreyolo/data/augment/detr.py +48 -25
  45. libreyolo-1.3.1/libreyolo/data/augment/geometry.py +152 -0
  46. libreyolo-1.3.1/libreyolo/data/augment/mosaic.py +30 -0
  47. libreyolo-1.3.1/libreyolo/data/augment/pose.py +155 -0
  48. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/seg_transforms.py → libreyolo-1.3.1/libreyolo/data/augment/rfdetr.py +263 -21
  49. libreyolo-1.3.1/libreyolo/data/augment/segments.py +97 -0
  50. libreyolo-1.2.0.dev0/libreyolo/models/yolo9/transforms.py → libreyolo-1.3.1/libreyolo/data/augment/yolo9.py +135 -140
  51. libreyolo-1.2.0.dev0/libreyolo/models/yolonas/transforms.py → libreyolo-1.3.1/libreyolo/data/augment/yolonas.py +17 -26
  52. libreyolo-1.2.0.dev0/libreyolo/training/augment.py → libreyolo-1.3.1/libreyolo/data/augment/yolox.py +16 -206
  53. libreyolo-1.3.1/libreyolo/data/cache.py +125 -0
  54. libreyolo-1.3.1/libreyolo/data/classify_dataset.py +303 -0
  55. libreyolo-1.3.1/libreyolo/data/coco_pose.py +174 -0
  56. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/dataset.py +306 -24
  57. libreyolo-1.3.1/libreyolo/data/depth_dataset.py +357 -0
  58. libreyolo-1.3.1/libreyolo/data/imagenet.py +42 -0
  59. libreyolo-1.3.1/libreyolo/data/imagenet1k.json +1002 -0
  60. libreyolo-1.3.1/libreyolo/data/obb.py +199 -0
  61. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/pose_dataset.py +2 -2
  62. libreyolo-1.3.1/libreyolo/data/pose_metadata.py +82 -0
  63. libreyolo-1.3.1/libreyolo/data/restore_dataset.py +245 -0
  64. libreyolo-1.3.1/libreyolo/data/semantic_dataset.py +366 -0
  65. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/utils.py +64 -3
  66. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/data/yolo_coco_api.py +21 -0
  67. libreyolo-1.3.1/libreyolo/distillation/__init__.py +51 -0
  68. libreyolo-1.3.1/libreyolo/distillation/configs.py +60 -0
  69. libreyolo-1.3.1/libreyolo/distillation/distiller.py +276 -0
  70. libreyolo-1.3.1/libreyolo/distillation/hooks.py +118 -0
  71. libreyolo-1.3.1/libreyolo/distillation/losses.py +173 -0
  72. libreyolo-1.3.1/libreyolo/doctor/__init__.py +34 -0
  73. libreyolo-1.3.1/libreyolo/doctor/checks/__init__.py +80 -0
  74. libreyolo-1.3.1/libreyolo/doctor/checks/balance.py +189 -0
  75. libreyolo-1.3.1/libreyolo/doctor/checks/dataset_config.py +128 -0
  76. libreyolo-1.3.1/libreyolo/doctor/checks/files.py +131 -0
  77. libreyolo-1.3.1/libreyolo/doctor/checks/images.py +269 -0
  78. libreyolo-1.3.1/libreyolo/doctor/checks/labels.py +393 -0
  79. libreyolo-1.3.1/libreyolo/doctor/config.py +64 -0
  80. libreyolo-1.3.1/libreyolo/doctor/report.py +162 -0
  81. libreyolo-1.3.1/libreyolo/doctor/runner.py +96 -0
  82. libreyolo-1.3.1/libreyolo/doctor/snapshot.py +431 -0
  83. libreyolo-1.3.1/libreyolo/ensemble/__init__.py +5 -0
  84. libreyolo-1.3.1/libreyolo/ensemble/model.py +547 -0
  85. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/calibration.py +21 -6
  86. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/coreml.py +13 -10
  87. libreyolo-1.3.1/libreyolo/export/exporter.py +1397 -0
  88. libreyolo-1.3.1/libreyolo/export/nms.py +124 -0
  89. libreyolo-1.3.1/libreyolo/export/onnx.py +571 -0
  90. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/tensorrt.py +85 -2
  91. libreyolo-1.3.1/libreyolo/export/tflite.py +762 -0
  92. libreyolo-1.3.1/libreyolo/label/__init__.py +19 -0
  93. libreyolo-1.3.1/libreyolo/label/assist.py +375 -0
  94. libreyolo-1.3.1/libreyolo/label/boost.py +286 -0
  95. libreyolo-1.3.1/libreyolo/label/dataset.py +908 -0
  96. libreyolo-1.3.1/libreyolo/label/embed.py +181 -0
  97. libreyolo-1.3.1/libreyolo/label/export.py +258 -0
  98. libreyolo-1.3.1/libreyolo/label/labelio.py +356 -0
  99. libreyolo-1.3.1/libreyolo/label/page.py +8 -0
  100. libreyolo-1.3.1/libreyolo/label/projects.py +131 -0
  101. libreyolo-1.3.1/libreyolo/label/quality.py +58 -0
  102. libreyolo-1.3.1/libreyolo/label/radar.py +183 -0
  103. libreyolo-1.3.1/libreyolo/label/sam.py +157 -0
  104. libreyolo-1.3.1/libreyolo/label/server.py +1071 -0
  105. libreyolo-1.3.1/libreyolo/label/web/__init__.py +33 -0
  106. libreyolo-1.3.1/libreyolo/label/web/css.py +454 -0
  107. libreyolo-1.3.1/libreyolo/label/web/html_body.py +282 -0
  108. libreyolo-1.3.1/libreyolo/label/web/html_head.py +10 -0
  109. libreyolo-1.3.1/libreyolo/label/web/html_tail.py +47 -0
  110. libreyolo-1.3.1/libreyolo/label/web/js_app.py +509 -0
  111. libreyolo-1.3.1/libreyolo/label/web/js_canvas.py +546 -0
  112. libreyolo-1.3.1/libreyolo/label/web/js_editor.py +447 -0
  113. libreyolo-1.3.1/libreyolo/label/web/js_home.py +434 -0
  114. libreyolo-1.3.1/libreyolo/label/web/js_power.py +292 -0
  115. libreyolo-1.3.1/libreyolo/label/web/js_state.py +142 -0
  116. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/__init__.py +170 -45
  117. libreyolo-1.3.1/libreyolo/models/autoconvert.py +764 -0
  118. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/base/inference.py +518 -67
  119. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/base/model.py +401 -30
  120. libreyolo-1.3.1/libreyolo/models/bert/__init__.py +8 -0
  121. libreyolo-1.3.1/libreyolo/models/bert/nn.py +127 -0
  122. libreyolo-1.3.1/libreyolo/models/clip/NOTICE.md +40 -0
  123. libreyolo-1.3.1/libreyolo/models/clip/__init__.py +5 -0
  124. libreyolo-1.3.1/libreyolo/models/clip/bpe_simple_vocab_16e6.txt.gz +0 -0
  125. libreyolo-1.3.1/libreyolo/models/clip/data/imagenet1k.json +2006 -0
  126. libreyolo-1.3.1/libreyolo/models/clip/data/imagenet_templates.json +82 -0
  127. libreyolo-1.3.1/libreyolo/models/clip/export.py +84 -0
  128. libreyolo-1.3.1/libreyolo/models/clip/labels.py +68 -0
  129. libreyolo-1.3.1/libreyolo/models/clip/model.py +422 -0
  130. libreyolo-1.3.1/libreyolo/models/clip/nn.py +231 -0
  131. libreyolo-1.3.1/libreyolo/models/clip/tokenizer.py +222 -0
  132. libreyolo-1.3.1/libreyolo/models/convnext/NOTICE +32 -0
  133. libreyolo-1.3.1/libreyolo/models/convnext/__init__.py +5 -0
  134. libreyolo-1.3.1/libreyolo/models/convnext/config.py +36 -0
  135. libreyolo-1.3.1/libreyolo/models/convnext/model.py +248 -0
  136. libreyolo-1.3.1/libreyolo/models/convnext/nn.py +199 -0
  137. libreyolo-1.3.1/libreyolo/models/convnext/trainer.py +59 -0
  138. libreyolo-1.3.1/libreyolo/models/convnext/utils.py +65 -0
  139. libreyolo-1.3.1/libreyolo/models/darknet/__init__.py +40 -0
  140. libreyolo-1.3.1/libreyolo/models/darknet/blocks.py +201 -0
  141. libreyolo-1.3.1/libreyolo/models/darknet/cfg.py +112 -0
  142. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/NOTICE +24 -0
  143. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov2-tiny.cfg +139 -0
  144. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov2.cfg +258 -0
  145. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov3-spp.cfg +822 -0
  146. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov3-tiny.cfg +182 -0
  147. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov3.cfg +789 -0
  148. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov4-tiny.cfg +294 -0
  149. libreyolo-1.3.1/libreyolo/models/darknet/cfgs/yolov4.cfg +1158 -0
  150. libreyolo-1.3.1/libreyolo/models/darknet/export.py +31 -0
  151. libreyolo-1.3.1/libreyolo/models/darknet/family.py +188 -0
  152. libreyolo-1.3.1/libreyolo/models/darknet/net.py +273 -0
  153. libreyolo-1.3.1/libreyolo/models/darknet/preprocess.py +60 -0
  154. libreyolo-1.3.1/libreyolo/models/darknet/reader.py +131 -0
  155. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/decoder.py +5 -1
  156. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/model.py +27 -1
  157. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/ms_deform.py +69 -7
  158. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/trainer.py +30 -2
  159. libreyolo-1.3.1/libreyolo/models/deim/transforms.py +49 -0
  160. libreyolo-1.3.1/libreyolo/models/deim/utils.py +71 -0
  161. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/deim_decoder.py +5 -1
  162. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/model.py +28 -1
  163. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/utils.py +2 -1
  164. libreyolo-1.3.1/libreyolo/models/depth_anything/__init__.py +5 -0
  165. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/__init__.py +10 -0
  166. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2.py +415 -0
  167. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/__init__.py +11 -0
  168. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/attention.py +83 -0
  169. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/block.py +252 -0
  170. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/drop_path.py +35 -0
  171. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/layer_scale.py +28 -0
  172. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/mlp.py +41 -0
  173. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/patch_embed.py +89 -0
  174. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dinov2_layers/swiglu_ffn.py +63 -0
  175. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/dpt.py +221 -0
  176. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/util/__init__.py +1 -0
  177. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/util/blocks.py +148 -0
  178. libreyolo-1.3.1/libreyolo/models/depth_anything/_vendor/util/transform.py +158 -0
  179. libreyolo-1.3.1/libreyolo/models/depth_anything/model.py +236 -0
  180. libreyolo-1.3.1/libreyolo/models/depth_anything/nn.py +63 -0
  181. libreyolo-1.3.1/libreyolo/models/depth_anything/utils.py +36 -0
  182. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/decoder.py +4 -1
  183. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/model.py +27 -1
  184. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/ms_deform.py +69 -7
  185. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/trainer.py +35 -3
  186. libreyolo-1.3.1/libreyolo/models/dfine/transforms.py +44 -0
  187. libreyolo-1.3.1/libreyolo/models/dfine/utils.py +70 -0
  188. libreyolo-1.3.1/libreyolo/models/dinov2/__init__.py +5 -0
  189. libreyolo-1.3.1/libreyolo/models/dinov2/model.py +673 -0
  190. libreyolo-1.3.1/libreyolo/models/dinov2/trainer.py +24 -0
  191. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/decoder.py +237 -33
  192. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/model.py +248 -30
  193. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/nn.py +19 -5
  194. libreyolo-1.3.1/libreyolo/models/ec/pose_denoising.py +202 -0
  195. libreyolo-1.3.1/libreyolo/models/ec/pose_loss.py +399 -0
  196. libreyolo-1.3.1/libreyolo/models/ec/pose_trainer.py +502 -0
  197. libreyolo-1.3.1/libreyolo/models/ec/pose_transforms.py +213 -0
  198. libreyolo-1.3.1/libreyolo/models/ec/postprocess.py +72 -0
  199. libreyolo-1.3.1/libreyolo/models/ec/seg_loss.py +340 -0
  200. libreyolo-1.3.1/libreyolo/models/ec/seg_trainer.py +231 -0
  201. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/trainer.py +3 -0
  202. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/utils.py +69 -7
  203. libreyolo-1.3.1/libreyolo/models/efficientnetv2/NOTICE +31 -0
  204. libreyolo-1.3.1/libreyolo/models/efficientnetv2/__init__.py +5 -0
  205. libreyolo-1.3.1/libreyolo/models/efficientnetv2/config.py +42 -0
  206. libreyolo-1.3.1/libreyolo/models/efficientnetv2/model.py +253 -0
  207. libreyolo-1.3.1/libreyolo/models/efficientnetv2/nn.py +436 -0
  208. libreyolo-1.3.1/libreyolo/models/efficientnetv2/trainer.py +59 -0
  209. libreyolo-1.3.1/libreyolo/models/efficientnetv2/utils.py +65 -0
  210. libreyolo-1.3.1/libreyolo/models/eomt/NOTICE +26 -0
  211. libreyolo-1.3.1/libreyolo/models/eomt/__init__.py +5 -0
  212. libreyolo-1.3.1/libreyolo/models/eomt/model.py +712 -0
  213. libreyolo-1.3.1/libreyolo/models/eomt/nn.py +153 -0
  214. libreyolo-1.3.1/libreyolo/models/fomo/__init__.py +5 -0
  215. libreyolo-1.3.1/libreyolo/models/fomo/dataset.py +394 -0
  216. libreyolo-1.3.1/libreyolo/models/fomo/loss.py +29 -0
  217. libreyolo-1.3.1/libreyolo/models/fomo/model.py +263 -0
  218. libreyolo-1.3.1/libreyolo/models/fomo/nn.py +254 -0
  219. libreyolo-1.3.1/libreyolo/models/fomo/trainer.py +279 -0
  220. libreyolo-1.3.1/libreyolo/models/fomo/utils.py +106 -0
  221. libreyolo-1.3.1/libreyolo/models/grounding_dino/__init__.py +10 -0
  222. libreyolo-1.3.1/libreyolo/models/grounding_dino/nn.py +567 -0
  223. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/inference.py +11 -6
  224. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/model.py +3 -0
  225. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/nn.py +6 -5
  226. libreyolo-1.3.1/libreyolo/models/mobilenetv4/NOTICE +24 -0
  227. libreyolo-1.3.1/libreyolo/models/mobilenetv4/__init__.py +5 -0
  228. libreyolo-1.3.1/libreyolo/models/mobilenetv4/config.py +42 -0
  229. libreyolo-1.3.1/libreyolo/models/mobilenetv4/model.py +253 -0
  230. libreyolo-1.3.1/libreyolo/models/mobilenetv4/nn.py +376 -0
  231. libreyolo-1.3.1/libreyolo/models/mobilenetv4/trainer.py +59 -0
  232. libreyolo-1.3.1/libreyolo/models/mobilenetv4/utils.py +64 -0
  233. libreyolo-1.3.1/libreyolo/models/mobilesam/LICENSE +201 -0
  234. libreyolo-1.3.1/libreyolo/models/mobilesam/NOTICE +25 -0
  235. libreyolo-1.3.1/libreyolo/models/mobilesam/__init__.py +7 -0
  236. libreyolo-1.3.1/libreyolo/models/mobilesam/_common.py +40 -0
  237. libreyolo-1.3.1/libreyolo/models/mobilesam/mask_decoder.py +184 -0
  238. libreyolo-1.3.1/libreyolo/models/mobilesam/model.py +247 -0
  239. libreyolo-1.3.1/libreyolo/models/mobilesam/nn.py +726 -0
  240. libreyolo-1.3.1/libreyolo/models/mobilesam/preprocess.py +121 -0
  241. libreyolo-1.3.1/libreyolo/models/mobilesam/prompt_encoder.py +225 -0
  242. libreyolo-1.3.1/libreyolo/models/mobilesam/transformer.py +242 -0
  243. libreyolo-1.3.1/libreyolo/models/nafnet/NOTICE +20 -0
  244. libreyolo-1.3.1/libreyolo/models/nafnet/__init__.py +6 -0
  245. libreyolo-1.3.1/libreyolo/models/nafnet/config.py +38 -0
  246. libreyolo-1.3.1/libreyolo/models/nafnet/model.py +223 -0
  247. libreyolo-1.3.1/libreyolo/models/nafnet/nn.py +384 -0
  248. libreyolo-1.3.1/libreyolo/models/nafnet/trainer.py +111 -0
  249. libreyolo-1.3.1/libreyolo/models/nafnet/utils.py +55 -0
  250. libreyolo-1.3.1/libreyolo/models/omdet_turbo/__init__.py +10 -0
  251. libreyolo-1.3.1/libreyolo/models/omdet_turbo/nn.py +584 -0
  252. libreyolo-1.3.1/libreyolo/models/openvocab/__init__.py +62 -0
  253. libreyolo-1.3.1/libreyolo/models/openvocab/base.py +454 -0
  254. libreyolo-1.3.1/libreyolo/models/openvocab/grounding_dino.py +221 -0
  255. libreyolo-1.3.1/libreyolo/models/openvocab/owlv2.py +130 -0
  256. libreyolo-1.3.1/libreyolo/models/owlv2/__init__.py +10 -0
  257. libreyolo-1.3.1/libreyolo/models/owlv2/nn.py +356 -0
  258. libreyolo-1.3.1/libreyolo/models/picodet/convert.py +117 -0
  259. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/loss.py +2 -4
  260. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/model.py +28 -4
  261. libreyolo-1.3.1/libreyolo/models/picodet/trainer.py +189 -0
  262. libreyolo-1.3.1/libreyolo/models/picodet/utils.py +68 -0
  263. libreyolo-1.3.1/libreyolo/models/pidnet/NOTICE +19 -0
  264. libreyolo-1.3.1/libreyolo/models/pidnet/__init__.py +6 -0
  265. libreyolo-1.3.1/libreyolo/models/pidnet/model.py +389 -0
  266. libreyolo-1.3.1/libreyolo/models/pidnet/nn.py +685 -0
  267. libreyolo-1.3.1/libreyolo/models/resnet/NOTICE +21 -0
  268. libreyolo-1.3.1/libreyolo/models/resnet/__init__.py +5 -0
  269. libreyolo-1.3.1/libreyolo/models/resnet/config.py +34 -0
  270. libreyolo-1.3.1/libreyolo/models/resnet/model.py +264 -0
  271. libreyolo-1.3.1/libreyolo/models/resnet/nn.py +156 -0
  272. libreyolo-1.3.1/libreyolo/models/resnet/trainer.py +57 -0
  273. libreyolo-1.3.1/libreyolo/models/resnet/utils.py +58 -0
  274. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/backbone.py +122 -19
  275. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/config.py +15 -0
  276. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/dinov2.py +2 -1
  277. libreyolo-1.3.1/libreyolo/models/rfdetr/keypoints.py +412 -0
  278. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/loss.py +144 -3
  279. libreyolo-1.3.1/libreyolo/models/rfdetr/lwdetr.py +1197 -0
  280. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/matcher.py +154 -12
  281. libreyolo-1.3.1/libreyolo/models/rfdetr/model.py +1259 -0
  282. libreyolo-1.3.1/libreyolo/models/rfdetr/nn.py +866 -0
  283. libreyolo-1.3.1/libreyolo/models/rfdetr/pose_transforms.py +35 -0
  284. libreyolo-1.3.1/libreyolo/models/rfdetr/seg_transforms.py +43 -0
  285. libreyolo-1.3.1/libreyolo/models/rfdetr/trainer.py +1094 -0
  286. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/transformer.py +490 -22
  287. libreyolo-1.3.1/libreyolo/models/rfdetr/utils.py +43 -0
  288. libreyolo-1.3.1/libreyolo/models/rtdetr/convert.py +90 -0
  289. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/loss.py +11 -10
  290. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/model.py +46 -52
  291. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/trainer.py +11 -2
  292. libreyolo-1.3.1/libreyolo/models/rtdetr/transforms.py +154 -0
  293. libreyolo-1.3.1/libreyolo/models/rtdetrv2/loss.py +141 -0
  294. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/model.py +23 -0
  295. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/trainer.py +13 -0
  296. libreyolo-1.3.1/libreyolo/models/rtdetrv4/convert.py +37 -0
  297. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv4/model.py +43 -0
  298. libreyolo-1.3.1/libreyolo/models/rtmdet/convert.py +40 -0
  299. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/loss.py +144 -110
  300. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/model.py +30 -7
  301. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/nn.py +1 -1
  302. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/trainer.py +29 -1
  303. libreyolo-1.3.1/libreyolo/models/rtmdet/utils.py +73 -0
  304. libreyolo-1.3.1/libreyolo/models/sam/__init__.py +20 -0
  305. libreyolo-1.3.1/libreyolo/models/sam/base.py +652 -0
  306. libreyolo-1.3.1/libreyolo/models/sam/model.py +118 -0
  307. libreyolo-1.3.1/libreyolo/models/sam/prompts.py +182 -0
  308. libreyolo-1.3.1/libreyolo/models/sam/sam2.py +59 -0
  309. libreyolo-1.3.1/libreyolo/models/swin/__init__.py +8 -0
  310. libreyolo-1.3.1/libreyolo/models/swin/nn.py +256 -0
  311. libreyolo-1.3.1/libreyolo/models/vlm/__init__.py +96 -0
  312. libreyolo-1.3.1/libreyolo/models/vlm/base.py +539 -0
  313. libreyolo-1.3.1/libreyolo/models/vlm/florence2.py +126 -0
  314. libreyolo-1.3.1/libreyolo/models/vlm/internvl3.py +105 -0
  315. libreyolo-1.3.1/libreyolo/models/vlm/kosmos2.py +120 -0
  316. libreyolo-1.3.1/libreyolo/models/vlm/lfm2.py +52 -0
  317. libreyolo-1.3.1/libreyolo/models/vlm/locateanything.py +399 -0
  318. libreyolo-1.3.1/libreyolo/models/vlm/parsing.py +299 -0
  319. libreyolo-1.3.1/libreyolo/models/vlm/qwen3vl.py +53 -0
  320. libreyolo-1.3.1/libreyolo/models/vlm/smolvlm.py +36 -0
  321. libreyolo-1.3.1/libreyolo/models/yolo2/__init__.py +5 -0
  322. libreyolo-1.3.1/libreyolo/models/yolo2/model.py +31 -0
  323. libreyolo-1.3.1/libreyolo/models/yolo3/__init__.py +5 -0
  324. libreyolo-1.3.1/libreyolo/models/yolo3/model.py +27 -0
  325. libreyolo-1.3.1/libreyolo/models/yolo4/__init__.py +5 -0
  326. libreyolo-1.3.1/libreyolo/models/yolo4/model.py +29 -0
  327. libreyolo-1.3.1/libreyolo/models/yolo7/__init__.py +5 -0
  328. libreyolo-1.3.1/libreyolo/models/yolo7/blocks.py +186 -0
  329. libreyolo-1.3.1/libreyolo/models/yolo7/export.py +32 -0
  330. libreyolo-1.3.1/libreyolo/models/yolo7/model.py +131 -0
  331. libreyolo-1.3.1/libreyolo/models/yolo7/net.py +130 -0
  332. libreyolo-1.3.1/libreyolo/models/yolo7/utils.py +35 -0
  333. libreyolo-1.3.1/libreyolo/models/yolo7/v7.yaml +255 -0
  334. libreyolo-1.3.1/libreyolo/models/yolo9/convert.py +323 -0
  335. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/loss.py +16 -213
  336. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/model.py +258 -21
  337. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/nn.py +129 -177
  338. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/trainer.py +48 -11
  339. libreyolo-1.3.1/libreyolo/models/yolo9/transforms.py +31 -0
  340. libreyolo-1.3.1/libreyolo/models/yolo9/utils.py +110 -0
  341. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/model.py +28 -1
  342. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/nn.py +11 -6
  343. libreyolo-1.3.1/libreyolo/models/yolo9_e2e/utils.py +10 -0
  344. libreyolo-1.3.1/libreyolo/models/yolo9_p2/__init__.py +5 -0
  345. libreyolo-1.3.1/libreyolo/models/yolo9_p2/config.py +12 -0
  346. libreyolo-1.3.1/libreyolo/models/yolo9_p2/model.py +182 -0
  347. libreyolo-1.3.1/libreyolo/models/yolo9_p2/nn.py +197 -0
  348. libreyolo-1.3.1/libreyolo/models/yolo9_p2/trainer.py +34 -0
  349. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/model.py +132 -2
  350. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/pose_trainer.py +1 -14
  351. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/pose_transforms.py +42 -113
  352. libreyolo-1.3.1/libreyolo/models/yolonas/transforms.py +23 -0
  353. libreyolo-1.3.1/libreyolo/models/yolonas/utils.py +114 -0
  354. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/model.py +37 -7
  355. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/nn.py +1 -26
  356. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/trainer.py +6 -0
  357. libreyolo-1.3.1/libreyolo/models/yolox/utils.py +83 -0
  358. libreyolo-1.3.1/libreyolo/ops/__init__.py +21 -0
  359. libreyolo-1.3.1/libreyolo/ops/fusion.py +443 -0
  360. libreyolo-1.3.1/libreyolo/postprocess/__init__.py +18 -0
  361. libreyolo-1.3.1/libreyolo/postprocess/common.py +133 -0
  362. libreyolo-1.3.1/libreyolo/postprocess/convnext.py +35 -0
  363. libreyolo-1.3.1/libreyolo/postprocess/darknet_yolo.py +213 -0
  364. libreyolo-1.3.1/libreyolo/postprocess/deim.py +11 -0
  365. libreyolo-1.2.0.dev0/libreyolo/models/dfine/utils.py → libreyolo-1.3.1/libreyolo/postprocess/dfine.py +13 -60
  366. libreyolo-1.2.0.dev0/libreyolo/models/ec/postprocess.py → libreyolo-1.3.1/libreyolo/postprocess/ec.py +27 -68
  367. libreyolo-1.3.1/libreyolo/postprocess/efficientnetv2.py +35 -0
  368. libreyolo-1.3.1/libreyolo/postprocess/mobilenetv4.py +35 -0
  369. libreyolo-1.3.1/libreyolo/postprocess/nafnet.py +39 -0
  370. libreyolo-1.2.0.dev0/libreyolo/models/picodet/utils.py → libreyolo-1.3.1/libreyolo/postprocess/picodet.py +10 -61
  371. libreyolo-1.3.1/libreyolo/postprocess/resnet.py +35 -0
  372. libreyolo-1.3.1/libreyolo/postprocess/rfdetr.py +364 -0
  373. libreyolo-1.3.1/libreyolo/postprocess/rtdetr.py +75 -0
  374. libreyolo-1.2.0.dev0/libreyolo/models/rtmdet/utils.py → libreyolo-1.3.1/libreyolo/postprocess/rtmdet.py +8 -65
  375. libreyolo-1.3.1/libreyolo/postprocess/slicing.py +53 -0
  376. libreyolo-1.3.1/libreyolo/postprocess/yolo7.py +138 -0
  377. libreyolo-1.3.1/libreyolo/postprocess/yolo9.py +490 -0
  378. libreyolo-1.2.0.dev0/libreyolo/models/yolo9_e2e/utils.py → libreyolo-1.3.1/libreyolo/postprocess/yolo9_e2e.py +5 -1
  379. libreyolo-1.2.0.dev0/libreyolo/models/yolonas/utils.py → libreyolo-1.3.1/libreyolo/postprocess/yolonas.py +11 -93
  380. libreyolo-1.2.0.dev0/libreyolo/models/yolox/utils.py → libreyolo-1.3.1/libreyolo/postprocess/yolox.py +12 -72
  381. libreyolo-1.3.1/libreyolo/profiling/__init__.py +18 -0
  382. libreyolo-1.3.1/libreyolo/profiling/inference.py +412 -0
  383. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tasks.py +45 -2
  384. libreyolo-1.3.1/libreyolo/tracking/__init__.py +7 -0
  385. libreyolo-1.3.1/libreyolo/tracking/_helpers.py +25 -0
  386. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/config.py +66 -1
  387. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/matching.py +2 -1
  388. libreyolo-1.3.1/libreyolo/tracking/ocsort.py +599 -0
  389. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/tracker.py +6 -16
  390. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/__init__.py +10 -1
  391. libreyolo-1.3.1/libreyolo/training/artifacts.py +558 -0
  392. libreyolo-1.3.1/libreyolo/training/augment.py +35 -0
  393. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/callbacks.py +11 -2
  394. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/config.py +192 -43
  395. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/ddp_spawn.py +9 -0
  396. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/distributed.py +72 -18
  397. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/ema.py +16 -2
  398. libreyolo-1.3.1/libreyolo/training/freezing.py +311 -0
  399. libreyolo-1.3.1/libreyolo/training/loggers/__init__.py +53 -0
  400. libreyolo-1.3.1/libreyolo/training/loggers/base.py +115 -0
  401. libreyolo-1.3.1/libreyolo/training/loggers/mlflow_logger.py +124 -0
  402. libreyolo-1.3.1/libreyolo/training/loggers/tensorboard_logger.py +69 -0
  403. libreyolo-1.3.1/libreyolo/training/loggers/wandb_logger.py +95 -0
  404. libreyolo-1.3.1/libreyolo/training/lora.py +177 -0
  405. libreyolo-1.3.1/libreyolo/training/profiler.py +1067 -0
  406. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/scheduler.py +10 -5
  407. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/trainer.py +1254 -104
  408. libreyolo-1.3.1/libreyolo/ui/__init__.py +9 -0
  409. libreyolo-1.3.1/libreyolo/ui/page.py +502 -0
  410. libreyolo-1.3.1/libreyolo/ui/server.py +324 -0
  411. libreyolo-1.3.1/libreyolo/ui/train_monitor.py +361 -0
  412. libreyolo-1.3.1/libreyolo/ui/train_monitor_page.py +361 -0
  413. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/download.py +11 -0
  414. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/drawing.py +286 -7
  415. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/general.py +2 -122
  416. libreyolo-1.3.1/libreyolo/utils/model_info.py +255 -0
  417. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/results.py +341 -1
  418. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/serialization.py +16 -0
  419. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/video.py +75 -11
  420. libreyolo-1.3.1/libreyolo/validation/__init__.py +33 -0
  421. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/base.py +9 -0
  422. libreyolo-1.3.1/libreyolo/validation/classify_validator.py +170 -0
  423. libreyolo-1.3.1/libreyolo/validation/clip_validator.py +41 -0
  424. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/coco_evaluator.py +20 -6
  425. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/config.py +11 -1
  426. libreyolo-1.3.1/libreyolo/validation/depth_validator.py +206 -0
  427. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/detection_validator.py +422 -55
  428. libreyolo-1.3.1/libreyolo/validation/fomo_validator.py +234 -0
  429. libreyolo-1.3.1/libreyolo/validation/obb_validator.py +493 -0
  430. libreyolo-1.3.1/libreyolo/validation/point_validator.py +645 -0
  431. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/pose_validator.py +221 -10
  432. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/validation/preprocessors.py +110 -43
  433. libreyolo-1.3.1/libreyolo/validation/restore_validator.py +189 -0
  434. libreyolo-1.3.1/libreyolo/validation/semantic_validator.py +162 -0
  435. libreyolo-1.3.1/libreyolo/validation/val_plotter.py +766 -0
  436. libreyolo-1.3.1/libreyolo.egg-info/PKG-INFO +253 -0
  437. libreyolo-1.3.1/libreyolo.egg-info/SOURCES.txt +553 -0
  438. libreyolo-1.3.1/libreyolo.egg-info/requires.txt +118 -0
  439. libreyolo-1.3.1/licenses/Apache-2.0.txt +201 -0
  440. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/pyproject.toml +102 -2
  441. libreyolo-1.3.1/weights/LICENSE_NOTICE.txt +72 -0
  442. libreyolo-1.2.0.dev0/NOTICE +0 -44
  443. libreyolo-1.2.0.dev0/PKG-INFO +0 -156
  444. libreyolo-1.2.0.dev0/README.md +0 -97
  445. libreyolo-1.2.0.dev0/THIRD_PARTY_NOTICES.txt +0 -212
  446. libreyolo-1.2.0.dev0/libreyolo/backends/base.py +0 -1337
  447. libreyolo-1.2.0.dev0/libreyolo/data/__init__.py +0 -30
  448. libreyolo-1.2.0.dev0/libreyolo/export/exporter.py +0 -789
  449. libreyolo-1.2.0.dev0/libreyolo/export/onnx.py +0 -218
  450. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/__init__.py +0 -4
  451. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/loss.py +0 -369
  452. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/model.py +0 -360
  453. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/nn.py +0 -1705
  454. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/trainer.py +0 -92
  455. libreyolo-1.2.0.dev0/libreyolo/models/damoyolo/utils.py +0 -126
  456. libreyolo-1.2.0.dev0/libreyolo/models/deim/utils.py +0 -129
  457. libreyolo-1.2.0.dev0/libreyolo/models/dfine/transforms.py +0 -301
  458. libreyolo-1.2.0.dev0/libreyolo/models/picodet/trainer.py +0 -105
  459. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/lwdetr.py +0 -604
  460. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/model.py +0 -754
  461. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/nn.py +0 -434
  462. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/trainer.py +0 -445
  463. libreyolo-1.2.0.dev0/libreyolo/models/rfdetr/utils.py +0 -128
  464. libreyolo-1.2.0.dev0/libreyolo/models/yolo9/utils.py +0 -309
  465. libreyolo-1.2.0.dev0/libreyolo/tracking/__init__.py +0 -6
  466. libreyolo-1.2.0.dev0/libreyolo/training/artifacts.py +0 -296
  467. libreyolo-1.2.0.dev0/libreyolo/validation/__init__.py +0 -14
  468. libreyolo-1.2.0.dev0/libreyolo.egg-info/PKG-INFO +0 -156
  469. libreyolo-1.2.0.dev0/libreyolo.egg-info/SOURCES.txt +0 -259
  470. libreyolo-1.2.0.dev0/libreyolo.egg-info/requires.txt +0 -55
  471. libreyolo-1.2.0.dev0/weights/LICENSE_NOTICE.txt +0 -40
  472. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/LICENSE +0 -0
  473. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/assets/parkour.jpg +0 -0
  474. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/assets/parkour_result.jpg +0 -0
  475. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/backends/__init__.py +0 -0
  476. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/aliases.py +0 -0
  477. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/commands/__init__.py +0 -0
  478. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/cli/output.py +0 -0
  479. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/__init__.py +0 -0
  480. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco128.yaml +0 -0
  481. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/datasets/coco8.yaml +0 -0
  482. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/config/export/tensorrt_default.yaml +0 -0
  483. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/__init__.py +0 -0
  484. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/config.py +0 -0
  485. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/ncnn.py +0 -0
  486. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/openvino.py +0 -0
  487. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/export/torchscript.py +0 -0
  488. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/base/__init__.py +0 -0
  489. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/__init__.py +0 -0
  490. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/backbone.py +0 -0
  491. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/box_ops.py +0 -0
  492. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/common.py +0 -0
  493. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/denoising.py +0 -0
  494. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/encoder.py +0 -0
  495. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/fdr.py +0 -0
  496. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/loss.py +0 -0
  497. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/matcher.py +0 -0
  498. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deim/nn.py +0 -0
  499. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/__init__.py +0 -0
  500. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/__init__.py +0 -0
  501. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/__init__.py +0 -0
  502. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/LICENSE.md +0 -0
  503. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/__init__.py +0 -0
  504. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/attention.py +0 -0
  505. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/block.py +0 -0
  506. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/ffn_layers.py +0 -0
  507. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/layer_scale.py +0 -0
  508. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/patch_embed.py +0 -0
  509. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rms_norm.py +0 -0
  510. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/layers/rope_position_encoding.py +0 -0
  511. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/utils/utils.py +0 -0
  512. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3/vision_transformer.py +0 -0
  513. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/dinov3_adapter.py +0 -0
  514. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/backbone/vit_tiny.py +0 -0
  515. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/__init__.py +0 -0
  516. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/deim_utils.py +0 -0
  517. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/hybrid_encoder.py +0 -0
  518. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/engine/deim/lite_encoder.py +0 -0
  519. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/loss.py +0 -0
  520. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/matcher.py +0 -0
  521. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/nn.py +0 -0
  522. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/trainer.py +0 -0
  523. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/deimv2/transforms.py +0 -0
  524. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/__init__.py +0 -0
  525. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/backbone.py +0 -0
  526. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/box_ops.py +0 -0
  527. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/common.py +0 -0
  528. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/denoising.py +0 -0
  529. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/encoder.py +0 -0
  530. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/fdr.py +0 -0
  531. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/loss.py +0 -0
  532. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/matcher.py +0 -0
  533. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/dfine/nn.py +0 -0
  534. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/__init__.py +0 -0
  535. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/backbone.py +0 -0
  536. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/encoder.py +0 -0
  537. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/ec/loss.py +0 -0
  538. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/__init__.py +0 -0
  539. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/face.py +0 -0
  540. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/l2cs/utils.py +0 -0
  541. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/__init__.py +0 -0
  542. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/picodet/nn.py +0 -0
  543. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/__init__.py +0 -0
  544. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/box_ops.py +0 -0
  545. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/segmentation.py +0 -0
  546. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rfdetr/tensors.py +0 -0
  547. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/__init__.py +0 -0
  548. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/backbone.py +0 -0
  549. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/box_ops.py +0 -0
  550. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/config.py +0 -0
  551. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/denoising.py +0 -0
  552. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/hgnetv2.py +0 -0
  553. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/nn.py +0 -0
  554. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetr/utils.py +0 -0
  555. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/__init__.py +0 -0
  556. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/decoder.py +0 -0
  557. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/nn.py +0 -0
  558. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv2/utils.py +0 -0
  559. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv4/__init__.py +0 -0
  560. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtdetrv4/trainer.py +0 -0
  561. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/rtmdet/__init__.py +0 -0
  562. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9/__init__.py +0 -0
  563. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/__init__.py +0 -0
  564. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/config.py +0 -0
  565. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/loss.py +0 -0
  566. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolo9_e2e/trainer.py +0 -0
  567. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/__init__.py +0 -0
  568. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/loss.py +0 -0
  569. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/nn.py +0 -0
  570. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolonas/trainer.py +0 -0
  571. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/__init__.py +0 -0
  572. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/models/yolox/loss.py +0 -0
  573. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/kalman_filter.py +0 -0
  574. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/tracking/strack.py +0 -0
  575. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/autobatch.py +0 -0
  576. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/training/train_config.yaml +0 -0
  577. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/__init__.py +0 -0
  578. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/box_ops.py +0 -0
  579. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/image_loader.py +0 -0
  580. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/logging.py +0 -0
  581. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo/utils/predict_args.py +0 -0
  582. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo.egg-info/dependency_links.txt +0 -0
  583. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo.egg-info/entry_points.txt +0 -0
  584. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/libreyolo.egg-info/top_level.txt +0 -0
  585. {libreyolo-1.2.0.dev0 → libreyolo-1.3.1}/setup.cfg +0 -0
@@ -18,9 +18,22 @@ global-exclude *.mp4
18
18
  # Re-include packaged sample assets (overrides global-exclude above)
19
19
  recursive-include libreyolo/assets *.jpg
20
20
  recursive-include libreyolo *.yaml
21
+ recursive-include libreyolo/data *.json
22
+
23
+ # LibreCLIP shipped data: vendored BPE vocab + ImageNet labels/templates
24
+ recursive-include libreyolo/models/clip *.gz
25
+ recursive-include libreyolo/models/clip/data *.json
26
+
27
+ # Bundled public-domain Darknet model-definition cfgs (YOLOv2/v3/v4)
28
+ recursive-include libreyolo/models/darknet/cfgs *.cfg
29
+
30
+ # Bundled MIT YOLOv7 model-definition yaml (MultimediaTechLab/YOLO)
31
+ recursive-include libreyolo/models/yolo7 *.yaml
21
32
 
22
33
  # Bundled third-party license texts (must ship with the wheel)
23
34
  recursive-include libreyolo/models *.md
35
+ recursive-include libreyolo/models NOTICE
24
36
  include THIRD_PARTY_NOTICES.txt
25
37
  include weights/LICENSE_NOTICE.txt
26
38
  include NOTICE
39
+ include licenses/Apache-2.0.txt
libreyolo-1.3.1/NOTICE ADDED
@@ -0,0 +1,130 @@
1
+ LibreYOLO
2
+ Copyright (c) The LibreYOLO contributors.
3
+
4
+ LibreYOLO is licensed under the MIT License (see LICENSE).
5
+
6
+ This product bundles third-party source code under non-MIT licenses. The
7
+ bundled files retain their original copyright headers. A copy of each
8
+ upstream license accompanies the corresponding code.
9
+
10
+ ------------------------------------------------------------------------
11
+ Bundled third-party source code
12
+ ------------------------------------------------------------------------
13
+
14
+ DINOv3 (Meta DINOv3 License Agreement)
15
+ Path: libreyolo/models/deimv2/engine/backbone/dinov3/
16
+ License: libreyolo/models/deimv2/engine/backbone/dinov3/LICENSE.md
17
+ Source: https://github.com/facebookresearch/dinov3
18
+
19
+ The DINOv3 backbone code shipped with the DEIMv2 family is
20
+ redistributed under the DINOv3 License Agreement, a custom
21
+ non-OSI license from Meta Platforms, Inc.
22
+
23
+ Key obligations propagated to downstream users (see LICENSE.md
24
+ for the authoritative text):
25
+ * Redistribution must include a copy of the DINOv3 License
26
+ Agreement (provided as LICENSE.md alongside the code).
27
+ * The DINO Materials may not be used for activities subject
28
+ to ITAR, military or warfare purposes, nuclear industries,
29
+ espionage, or weapons development.
30
+ * The DINO Materials are provided "as is" without warranty.
31
+
32
+ These terms apply only to the DINOv3 subtree listed above. The
33
+ rest of LibreYOLO remains under the MIT License.
34
+
35
+ MobileNetV4 / timm (Apache License 2.0)
36
+ Path: libreyolo/models/mobilenetv4/
37
+ License: libreyolo/models/mobilenetv4/NOTICE (Apache-2.0)
38
+ Source: https://github.com/huggingface/pytorch-image-models
39
+
40
+ The MobileNetV4 architecture (libreyolo/models/mobilenetv4/nn.py) is a
41
+ native re-implementation derived from timm's MobileNetV4
42
+ (Ross Wightman and the timm contributors), licensed Apache-2.0. Module
43
+ naming mirrors timm so its Apache-2.0 ImageNet-1k pretrained weights load
44
+ unchanged and inference is bit-identical. Apache-2.0 is MIT-compatible;
45
+ these terms add only attribution obligations.
46
+
47
+ ConvNeXt / timm (MIT code + Apache-2.0 weights)
48
+ Path: libreyolo/models/convnext/
49
+ License: libreyolo/models/convnext/NOTICE
50
+ Source: https://github.com/facebookresearch/ConvNeXt
51
+ https://github.com/huggingface/pytorch-image-models
52
+
53
+ The ConvNeXt V1 architecture (libreyolo/models/convnext/nn.py) is a native
54
+ re-implementation derived from Meta's ConvNeXt (MIT) and timm's ConvNeXt.
55
+ Module naming mirrors timm so its Apache-2.0 ImageNet-1k `fb_in1k` weights
56
+ load unchanged and inference is bit-identical. ConvNeXt-V2's small
57
+ checkpoints are CC-BY-NC and are intentionally NOT used.
58
+
59
+ EfficientNetV2 / timm (Apache License 2.0)
60
+ Path: libreyolo/models/efficientnetv2/
61
+ License: libreyolo/models/efficientnetv2/NOTICE (Apache-2.0)
62
+ Source: https://github.com/huggingface/pytorch-image-models
63
+ https://github.com/google/automl
64
+
65
+ The EfficientNetV2 architecture (libreyolo/models/efficientnetv2/nn.py) is a
66
+ native re-implementation derived from timm's EfficientNetV2 (Ross Wightman)
67
+ and Google's EfficientNetV2 (google/automl), licensed Apache-2.0. Module
68
+ naming mirrors timm so its Apache-2.0 ImageNet-1k weights load unchanged and
69
+ inference is bit-identical.
70
+
71
+ ResNet / timm (Apache License 2.0)
72
+ Path: libreyolo/models/resnet/
73
+ License: libreyolo/models/resnet/NOTICE (Apache-2.0)
74
+ Source: https://github.com/huggingface/pytorch-image-models
75
+
76
+ The ResNet architecture (libreyolo/models/resnet/nn.py) is a native
77
+ re-implementation of the vanilla ResNet (He et al. 2015, v1.5). Weights are
78
+ timm's `resnet*.a1_in1k` (Ross Wightman), Apache-2.0, ImageNet-1k. Module
79
+ naming mirrors timm/torchvision so weights load unchanged and inference is
80
+ bit-identical.
81
+
82
+ NAFNet (MIT License)
83
+ Path: libreyolo/models/nafnet/
84
+ License: libreyolo/models/nafnet/NOTICE (MIT)
85
+ Source: https://github.com/megvii-research/NAFNet
86
+
87
+ The NAFNet restoration architecture (libreyolo/models/nafnet/nn.py) is a
88
+ native PyTorch implementation derived from Megvii Research's NAFNet
89
+ (MIT). LibreYOLO does not bundle NAFNet pretrained checkpoint files. Some
90
+ published GoPro-trained NAFNet weights do not carry an explicit standalone
91
+ weights license; convert only weights that you have the right to use and
92
+ redistribute.
93
+
94
+ Darknet YOLOv2 / YOLOv3 / YOLOv4 (public domain)
95
+ Path: libreyolo/models/darknet/, libreyolo/models/yolo2|yolo3|yolo4/
96
+ License: libreyolo/models/darknet/cfgs/NOTICE (public domain)
97
+ Source: https://github.com/pjreddie/darknet (YOLOv2/v3)
98
+ https://github.com/AlexeyAB/darknet (YOLOv4)
99
+
100
+ The LibreYOLO2/3/4 families reproduce the YOLOv2, YOLOv3, and YOLOv4
101
+ architectures from the Darknet project, which is public domain (the
102
+ "YOLO LICENSE": "Darknet is public domain. Do whatever you want with
103
+ it."). The model-definition (.cfg) files are bundled under
104
+ libreyolo/models/darknet/cfgs/ and drive both the runtime graph builder
105
+ and the weight converter. Only the .cfg format and the numerical
106
+ behaviour of the Darknet layers are reproduced; no Darknet C source is
107
+ copied. Being public domain, these terms impose no obligations on
108
+ LibreYOLO or its downstream users.
109
+
110
+ YOLOv7 / MultimediaTechLab/YOLO (MIT License)
111
+ Path: libreyolo/models/yolo7/
112
+ Source: https://github.com/MultimediaTechLab/YOLO
113
+
114
+ The LibreYOLO7 family is a native port of YOLOv7 from
115
+ MultimediaTechLab/YOLO (MIT, (c) 2024 Kin-Yiu Wong & Hao-Tang Tsui) —
116
+ the authors' own MIT re-release, NOT the GPL-3.0 WongKinYiu/yolov7.
117
+ Module names mirror upstream so the MIT v7.pt weights load unchanged;
118
+ the model-definition v7.yaml is bundled under libreyolo/models/yolo7/.
119
+ MIT is MIT-compatible; these terms add only attribution obligations.
120
+
121
+ ------------------------------------------------------------------------
122
+ Pretrained model weights
123
+ ------------------------------------------------------------------------
124
+
125
+ No pretrained weights are distributed in this source tree. LibreYOLO
126
+ weights are published separately on Hugging Face under the LibreYOLO
127
+ organization (https://huggingface.co/LibreYOLO). Each Hugging Face
128
+ model repository ships its own LICENSE and NOTICE reflecting the
129
+ license of the upstream project the weights were derived from. See
130
+ weights/LICENSE_NOTICE.txt for a per-family summary.
@@ -0,0 +1,253 @@
1
+ Metadata-Version: 2.4
2
+ Name: libreyolo
3
+ Version: 1.3.1
4
+ Summary: Libre YOLO - An open source YOLO library with MIT license.
5
+ Author: LibreYOLO Team
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/LibreYOLO
8
+ Project-URL: Repository, https://github.com/LibreYOLO/libreyolo
9
+ Requires-Python: >=3.10
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ License-File: NOTICE
13
+ License-File: THIRD_PARTY_NOTICES.txt
14
+ License-File: weights/LICENSE_NOTICE.txt
15
+ License-File: licenses/Apache-2.0.txt
16
+ Requires-Dist: numpy>=1.19.0
17
+ Requires-Dist: Pillow>=9.1.0
18
+ Requires-Dist: torch>=2.4.0
19
+ Requires-Dist: torchvision>=0.19.0
20
+ Requires-Dist: PyYAML>=6.0
21
+ Requires-Dist: requests>=2.25.0
22
+ Requires-Dist: opencv-python>=4.11.0.86
23
+ Requires-Dist: tqdm>=4.65.0
24
+ Requires-Dist: pycocotools>=2.0.0
25
+ Requires-Dist: typer>=0.9.0
26
+ Requires-Dist: click>=8.0.0
27
+ Requires-Dist: safetensors>=0.4.0
28
+ Requires-Dist: scipy>=1.7.0
29
+ Provides-Extra: onnx
30
+ Requires-Dist: onnx>=1.14.0; extra == "onnx"
31
+ Requires-Dist: onnxsim>=0.4.0; extra == "onnx"
32
+ Requires-Dist: onnxruntime>=1.16.0; extra == "onnx"
33
+ Provides-Extra: rfdetr
34
+ Requires-Dist: transformers>=5.1.0; extra == "rfdetr"
35
+ Provides-Extra: eomt
36
+ Requires-Dist: transformers>=5.1.0; extra == "eomt"
37
+ Provides-Extra: lora
38
+ Requires-Dist: libreyolo[rfdetr]; extra == "lora"
39
+ Requires-Dist: peft>=0.12.0; extra == "lora"
40
+ Provides-Extra: plots
41
+ Requires-Dist: matplotlib>=3.7.0; extra == "plots"
42
+ Provides-Extra: vlm
43
+ Requires-Dist: transformers>=5.1.0; extra == "vlm"
44
+ Requires-Dist: num2words>=0.5.0; extra == "vlm"
45
+ Requires-Dist: decord==0.6.0; extra == "vlm"
46
+ Requires-Dist: lmdb>=1.7.0; extra == "vlm"
47
+ Requires-Dist: peft>=0.12.0; extra == "vlm"
48
+ Provides-Extra: sam
49
+ Requires-Dist: transformers>=5.3.0; extra == "sam"
50
+ Provides-Extra: openvocab
51
+ Requires-Dist: transformers>=5.1.0; extra == "openvocab"
52
+ Provides-Extra: label
53
+ Requires-Dist: libreyolo[sam]; extra == "label"
54
+ Provides-Extra: tensorrt
55
+ Requires-Dist: tensorrt-cu12==10.16.1.11; sys_platform != "darwin" and extra == "tensorrt"
56
+ Requires-Dist: pycuda>=2022.1; sys_platform != "darwin" and extra == "tensorrt"
57
+ Provides-Extra: openvino
58
+ Requires-Dist: openvino>=2024.0.0; extra == "openvino"
59
+ Provides-Extra: ncnn
60
+ Requires-Dist: pnnx; extra == "ncnn"
61
+ Requires-Dist: ncnn; extra == "ncnn"
62
+ Provides-Extra: tflite
63
+ Requires-Dist: libreyolo[onnx]; extra == "tflite"
64
+ Requires-Dist: onnx2tf>=2.4.3; python_version >= "3.12" and extra == "tflite"
65
+ Requires-Dist: onnx-graphsurgeon>=0.3.27; extra == "tflite"
66
+ Requires-Dist: onnx-simplifier>=0.4.36; extra == "tflite"
67
+ Provides-Extra: tracking
68
+ Provides-Extra: rtdetr
69
+ Provides-Extra: gaze
70
+ Requires-Dist: gdown>=5.1.0; extra == "gaze"
71
+ Provides-Extra: clip
72
+ Requires-Dist: regex>=2023.0.0; extra == "clip"
73
+ Requires-Dist: ftfy>=6.0.0; extra == "clip"
74
+ Provides-Extra: clip-convert
75
+ Requires-Dist: libreyolo[clip]; extra == "clip-convert"
76
+ Requires-Dist: open_clip_torch>=2.24.0; extra == "clip-convert"
77
+ Provides-Extra: coreml
78
+ Requires-Dist: coremltools>=8.0; extra == "coreml"
79
+ Provides-Extra: tensorboard
80
+ Requires-Dist: tensorboard>=2.13.0; extra == "tensorboard"
81
+ Provides-Extra: mlflow
82
+ Requires-Dist: mlflow>=2.9.0; extra == "mlflow"
83
+ Provides-Extra: wandb
84
+ Requires-Dist: wandb>=0.16.0; extra == "wandb"
85
+ Provides-Extra: all
86
+ Requires-Dist: libreyolo[onnx]; extra == "all"
87
+ Requires-Dist: libreyolo[rfdetr]; extra == "all"
88
+ Requires-Dist: libreyolo[eomt]; extra == "all"
89
+ Requires-Dist: libreyolo[lora]; extra == "all"
90
+ Requires-Dist: libreyolo[plots]; extra == "all"
91
+ Requires-Dist: libreyolo[tensorrt]; extra == "all"
92
+ Requires-Dist: libreyolo[tflite]; extra == "all"
93
+ Requires-Dist: libreyolo[openvino]; extra == "all"
94
+ Requires-Dist: libreyolo[ncnn]; extra == "all"
95
+ Requires-Dist: libreyolo[tracking]; extra == "all"
96
+ Requires-Dist: libreyolo[rtdetr]; extra == "all"
97
+ Requires-Dist: libreyolo[gaze]; extra == "all"
98
+ Requires-Dist: libreyolo[clip]; extra == "all"
99
+ Requires-Dist: libreyolo[coreml]; extra == "all"
100
+ Requires-Dist: libreyolo[vlm]; extra == "all"
101
+ Requires-Dist: libreyolo[sam]; extra == "all"
102
+ Requires-Dist: libreyolo[label]; extra == "all"
103
+ Requires-Dist: libreyolo[openvocab]; extra == "all"
104
+ Requires-Dist: libreyolo[tensorboard]; extra == "all"
105
+ Requires-Dist: libreyolo[mlflow]; extra == "all"
106
+ Requires-Dist: libreyolo[wandb]; extra == "all"
107
+ Dynamic: license-file
108
+
109
+ # LibreYOLO
110
+
111
+ [English](README.md) | [简体中文](README.zh-CN.md)
112
+
113
+ > ⭐ **Support LibreYOLO.** The best way to help is to **star the repo**. Feel free to [open an issue](https://github.com/LibreYOLO/libreyolo/issues/new) if you encounter problems or have suggestions, and code contributions are very welcome (see [CONTRIBUTING.md](CONTRIBUTING.md)).
114
+
115
+ [![Documentation](https://img.shields.io/badge/docs-libreyolo.com-blue)](https://www.libreyolo.com/docs)
116
+ [![PyPI](https://img.shields.io/pypi/v/libreyolo)](https://pypi.org/project/libreyolo/)
117
+ [![PyPI Downloads](https://static.pepy.tech/badge/libreyolo)](https://pepy.tech/projects/libreyolo)
118
+ [![Hugging Face](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-LibreYOLO-yellow)](https://huggingface.co/LibreYOLO)
119
+ [![Benchmarks](https://img.shields.io/badge/benchmarks-visionanalysis.org-purple)](https://www.visionanalysis.org/)
120
+ [![LinkedIn](https://img.shields.io/badge/LinkedIn-LibreYOLO-blue?logo=linkedin)](https://www.linkedin.com/company/libreyolo/)
121
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
122
+
123
+ MIT-licensed computer vision library with inference and training support for a variety of models. It provides a familiar high-level Python and CLI interface and reads common YOLO-format datasets, so existing workflows port over with minimal changes.
124
+
125
+ ![LibreYOLO Detection Example](libreyolo/assets/parkour_result.jpg)
126
+
127
+ ## Installation & Quick start
128
+
129
+ `pip install libreyolo` covers most users. It comes with the YOLOv9 flagship
130
+ and the other detection models, plus training and inference. Now and then you'll
131
+ add an extra: for a model family with a heavier dependency (for example RF-DETR,
132
+ which needs the large `transformers` library), or for an export backend when you
133
+ need to export a model:
134
+
135
+ ```bash
136
+ pip install libreyolo
137
+
138
+ # Add an extra in brackets when you need one (comma-separate to combine),
139
+ # e.g. pip install "libreyolo[rfdetr,onnx]":
140
+ # export: onnx, tensorrt, openvino, ncnn, tflite, coreml
141
+ # models: rfdetr, vlm, sam, openvocab, clip, gaze
142
+ # training: lora, plots, tensorboard, mlflow, wandb
143
+ # or all: pip install "libreyolo[all]"
144
+ ```
145
+
146
+ ```python
147
+ from libreyolo import LibreYOLO, SAMPLE_IMAGE
148
+
149
+ model = LibreYOLO("LibreYOLO9t.pt")
150
+ result = model(SAMPLE_IMAGE, save=True)
151
+ ```
152
+
153
+ Image classification works the same way. Load a pretrained ImageNet-1k
154
+ classifier (`MobileNetV4`, `ConvNeXt`, `EfficientNetV2`, or `ResNet`), then
155
+ predict or fine-tune on your own folder-per-class dataset:
156
+
157
+ ```python
158
+ from libreyolo import LibreYOLO
159
+
160
+ model = LibreYOLO("LibreResNet50-cls.pt") # weights auto-download on first use
161
+ result = model("image.jpg") # a single image -> one Results
162
+ print(result.probs.top1, float(result.probs.top1conf)) # class index + confidence
163
+ print(result.probs.top5) # indices of the 5 most likely classes
164
+
165
+ # Fine-tune on an ImageFolder dataset (train/ and val/, one sub-folder per
166
+ # class). The classifier head resizes to your class count automatically.
167
+ model.train(data="path/to/dataset", epochs=5)
168
+ ```
169
+
170
+ For the full list of extras and per-backend notes, see the [docs](https://www.libreyolo.com/docs#installation).
171
+
172
+ To install from source in editable mode (for development or to track unreleased changes):
173
+
174
+ ```bash
175
+ git clone https://github.com/LibreYOLO/libreyolo.git
176
+ cd libreyolo
177
+ pip install -e .
178
+ ```
179
+
180
+ ## Flagship models
181
+
182
+ LibreYOLO recommends these model families because they offer the best balance
183
+ and receive the heaviest testing:
184
+
185
+ - **YOLOv9** for CNN-based YOLO models.
186
+ - **RF-DETR** for transformer-based detection and segmentation.
187
+
188
+ ## Compatibility
189
+
190
+ `✓` supported, `exp` experimental. Empty cells are not currently supported.
191
+ All trainable families in the Training column accept universal training
192
+ hooks via `callbacks=` and built-in experiment loggers via `loggers=`
193
+ (`tensorboard`, `mlflow`, `wandb`).
194
+ <table>
195
+ <thead>
196
+ <tr>
197
+ <th rowspan="2">Model family</th>
198
+ <th colspan="7">Inference</th>
199
+ <th rowspan="2">Training</th>
200
+ <th colspan="6">Export formats</th>
201
+ </tr>
202
+ <tr>
203
+ <th>Detection</th>
204
+ <th>Segmentation</th>
205
+ <th>Semantic</th>
206
+ <th>Classification</th>
207
+ <th>Pose</th>
208
+ <th>OBB</th>
209
+ <th>Gaze</th>
210
+ <th>ONNX</th>
211
+ <th>TorchScript</th>
212
+ <th>TensorRT</th>
213
+ <th>OpenVINO</th>
214
+ <th>NCNN</th>
215
+ <th>TFLite</th>
216
+ </tr>
217
+ </thead>
218
+ <tbody>
219
+ <tr><td><strong>⭐ YOLOv9</strong></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
220
+ <tr><td><strong>⭐ RF-DETR</strong></td><td>✓</td><td>✓</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td><td>exp</td></tr>
221
+ <tr><td>YOLOX</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
222
+ <tr><td>YOLOv9-E2E</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td></tr>
223
+ <tr><td>YOLOv9-P2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>exp</td><td></td><td></td><td></td><td></td><td></td></tr>
224
+ <tr><td>YOLO-NAS</td><td>✓</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
225
+ <tr><td>D-FINE</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
226
+ <tr><td>DEIM</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
227
+ <tr><td>DEIMv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
228
+ <tr><td>RT-DETR</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
229
+ <tr><td>RT-DETRv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
230
+ <tr><td>RT-DETRv4</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
231
+ <tr><td>PicoDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td><td></td></tr>
232
+ <tr><td>RTMDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
233
+ <tr><td>EC</td><td>✓</td><td>✓</td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
234
+ <tr><td>MobileNetV4</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
235
+ <tr><td>ConvNeXt</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
236
+ <tr><td>EfficientNetV2</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
237
+ <tr><td>ResNet</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
238
+ <tr><td>L2CS</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
239
+ </tbody>
240
+ </table>
241
+
242
+ YOLOv9-P2 is a small-object variant of YOLOv9 with an extra stride-4 detection
243
+ scale, built for aerial/tiny-object imagery where objects fall below ~16 px
244
+ (on regular datasets like COCO, prefer stock YOLOv9). A VisDrone-trained
245
+ research preview is available as
246
+ [`LibreYOLO9P2s-visdrone.pt`](https://huggingface.co/LibreYOLO/LibreYOLO9P2s-visdrone)
247
+ (non-commercial license); train your own with
248
+ `LibreYOLO9P2(None, size="s").train(..., pretrained="LibreYOLO9s.pt")`.
249
+
250
+ ## License
251
+
252
+ - **Code:** MIT License
253
+ - **Weights:** Pre-trained weights may inherit licensing from the original source. Check the license in the specific HF repo of weights that you are interested in. LibreYOLO HF models always have a license.
@@ -0,0 +1,145 @@
1
+ # LibreYOLO
2
+
3
+ [English](README.md) | [简体中文](README.zh-CN.md)
4
+
5
+ > ⭐ **Support LibreYOLO.** The best way to help is to **star the repo**. Feel free to [open an issue](https://github.com/LibreYOLO/libreyolo/issues/new) if you encounter problems or have suggestions, and code contributions are very welcome (see [CONTRIBUTING.md](CONTRIBUTING.md)).
6
+
7
+ [![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
+ `pip install libreyolo` covers most users. It comes with the YOLOv9 flagship
22
+ and the other detection models, plus training and inference. Now and then you'll
23
+ add an extra: for a model family with a heavier dependency (for example RF-DETR,
24
+ which needs the large `transformers` library), or for an export backend when you
25
+ need to export a model:
26
+
27
+ ```bash
28
+ pip install libreyolo
29
+
30
+ # Add an extra in brackets when you need one (comma-separate to combine),
31
+ # e.g. pip install "libreyolo[rfdetr,onnx]":
32
+ # export: onnx, tensorrt, openvino, ncnn, tflite, coreml
33
+ # models: rfdetr, vlm, sam, openvocab, clip, gaze
34
+ # training: lora, plots, tensorboard, mlflow, wandb
35
+ # or all: pip install "libreyolo[all]"
36
+ ```
37
+
38
+ ```python
39
+ from libreyolo import LibreYOLO, SAMPLE_IMAGE
40
+
41
+ model = LibreYOLO("LibreYOLO9t.pt")
42
+ result = model(SAMPLE_IMAGE, save=True)
43
+ ```
44
+
45
+ Image classification works the same way. Load a pretrained ImageNet-1k
46
+ classifier (`MobileNetV4`, `ConvNeXt`, `EfficientNetV2`, or `ResNet`), then
47
+ predict or fine-tune on your own folder-per-class dataset:
48
+
49
+ ```python
50
+ from libreyolo import LibreYOLO
51
+
52
+ model = LibreYOLO("LibreResNet50-cls.pt") # weights auto-download on first use
53
+ result = model("image.jpg") # a single image -> one Results
54
+ print(result.probs.top1, float(result.probs.top1conf)) # class index + confidence
55
+ print(result.probs.top5) # indices of the 5 most likely classes
56
+
57
+ # Fine-tune on an ImageFolder dataset (train/ and val/, one sub-folder per
58
+ # class). The classifier head resizes to your class count automatically.
59
+ model.train(data="path/to/dataset", epochs=5)
60
+ ```
61
+
62
+ For the full list of extras and per-backend notes, see the [docs](https://www.libreyolo.com/docs#installation).
63
+
64
+ To install from source in editable mode (for development or to track unreleased changes):
65
+
66
+ ```bash
67
+ git clone https://github.com/LibreYOLO/libreyolo.git
68
+ cd libreyolo
69
+ pip install -e .
70
+ ```
71
+
72
+ ## Flagship models
73
+
74
+ LibreYOLO recommends these model families because they offer the best balance
75
+ and receive the heaviest testing:
76
+
77
+ - **YOLOv9** for CNN-based YOLO models.
78
+ - **RF-DETR** for transformer-based detection and segmentation.
79
+
80
+ ## Compatibility
81
+
82
+ `✓` supported, `exp` experimental. Empty cells are not currently supported.
83
+ All trainable families in the Training column accept universal training
84
+ hooks via `callbacks=` and built-in experiment loggers via `loggers=`
85
+ (`tensorboard`, `mlflow`, `wandb`).
86
+ <table>
87
+ <thead>
88
+ <tr>
89
+ <th rowspan="2">Model family</th>
90
+ <th colspan="7">Inference</th>
91
+ <th rowspan="2">Training</th>
92
+ <th colspan="6">Export formats</th>
93
+ </tr>
94
+ <tr>
95
+ <th>Detection</th>
96
+ <th>Segmentation</th>
97
+ <th>Semantic</th>
98
+ <th>Classification</th>
99
+ <th>Pose</th>
100
+ <th>OBB</th>
101
+ <th>Gaze</th>
102
+ <th>ONNX</th>
103
+ <th>TorchScript</th>
104
+ <th>TensorRT</th>
105
+ <th>OpenVINO</th>
106
+ <th>NCNN</th>
107
+ <th>TFLite</th>
108
+ </tr>
109
+ </thead>
110
+ <tbody>
111
+ <tr><td><strong>⭐ YOLOv9</strong></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td></tr>
112
+ <tr><td><strong>⭐ RF-DETR</strong></td><td>✓</td><td>✓</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td><td></td><td>exp</td></tr>
113
+ <tr><td>YOLOX</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
114
+ <tr><td>YOLOv9-E2E</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td></tr>
115
+ <tr><td>YOLOv9-P2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td>exp</td><td></td><td></td><td></td><td></td><td></td></tr>
116
+ <tr><td>YOLO-NAS</td><td>✓</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td></tr>
117
+ <tr><td>D-FINE</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
118
+ <tr><td>DEIM</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
119
+ <tr><td>DEIMv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
120
+ <tr><td>RT-DETR</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td></tr>
121
+ <tr><td>RT-DETRv2</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
122
+ <tr><td>RT-DETRv4</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
123
+ <tr><td>PicoDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td>exp</td><td>exp</td><td></td><td></td><td></td><td></td></tr>
124
+ <tr><td>RTMDet</td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
125
+ <tr><td>EC</td><td>✓</td><td>✓</td><td></td><td></td><td>✓</td><td></td><td></td><td>exp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
126
+ <tr><td>MobileNetV4</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
127
+ <tr><td>ConvNeXt</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
128
+ <tr><td>EfficientNetV2</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
129
+ <tr><td>ResNet</td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td>✓</td><td>✓</td><td></td><td></td><td></td><td></td><td></td></tr>
130
+ <tr><td>L2CS</td><td></td><td></td><td></td><td></td><td></td><td></td><td>✓</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
131
+ </tbody>
132
+ </table>
133
+
134
+ YOLOv9-P2 is a small-object variant of YOLOv9 with an extra stride-4 detection
135
+ scale, built for aerial/tiny-object imagery where objects fall below ~16 px
136
+ (on regular datasets like COCO, prefer stock YOLOv9). A VisDrone-trained
137
+ research preview is available as
138
+ [`LibreYOLO9P2s-visdrone.pt`](https://huggingface.co/LibreYOLO/LibreYOLO9P2s-visdrone)
139
+ (non-commercial license); train your own with
140
+ `LibreYOLO9P2(None, size="s").train(..., pretrained="LibreYOLO9s.pt")`.
141
+
142
+ ## License
143
+
144
+ - **Code:** MIT License
145
+ - **Weights:** Pre-trained weights may inherit licensing from the original source. Check the license in the specific HF repo of weights that you are interested in. LibreYOLO HF models always have a license.