dgenerate-ultralytics-headless 8.3.202__py3-none-any.whl → 8.3.204__py3-none-any.whl

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 (38) hide show
  1. {dgenerate_ultralytics_headless-8.3.202.dist-info → dgenerate_ultralytics_headless-8.3.204.dist-info}/METADATA +21 -21
  2. {dgenerate_ultralytics_headless-8.3.202.dist-info → dgenerate_ultralytics_headless-8.3.204.dist-info}/RECORD +38 -38
  3. tests/test_cli.py +7 -9
  4. tests/test_cuda.py +4 -1
  5. tests/test_exports.py +7 -7
  6. tests/test_python.py +18 -10
  7. tests/test_solutions.py +13 -11
  8. ultralytics/__init__.py +1 -1
  9. ultralytics/data/build.py +4 -1
  10. ultralytics/data/utils.py +5 -0
  11. ultralytics/engine/exporter.py +45 -6
  12. ultralytics/engine/trainer.py +14 -12
  13. ultralytics/engine/tuner.py +1 -1
  14. ultralytics/engine/validator.py +1 -1
  15. ultralytics/models/fastsam/predict.py +2 -1
  16. ultralytics/models/rtdetr/model.py +2 -0
  17. ultralytics/models/sam/modules/sam.py +1 -1
  18. ultralytics/models/sam/predict.py +9 -5
  19. ultralytics/models/yolo/classify/train.py +2 -2
  20. ultralytics/models/yolo/classify/val.py +2 -2
  21. ultralytics/models/yolo/detect/train.py +1 -1
  22. ultralytics/models/yolo/detect/val.py +1 -1
  23. ultralytics/models/yolo/model.py +1 -0
  24. ultralytics/models/yolo/world/train.py +4 -2
  25. ultralytics/models/yolo/yoloe/train.py +1 -13
  26. ultralytics/nn/autobackend.py +1 -1
  27. ultralytics/nn/modules/head.py +3 -3
  28. ultralytics/nn/modules/transformer.py +3 -1
  29. ultralytics/solutions/similarity_search.py +3 -2
  30. ultralytics/solutions/streamlit_inference.py +2 -3
  31. ultralytics/utils/checks.py +27 -0
  32. ultralytics/utils/metrics.py +3 -3
  33. ultralytics/utils/tal.py +3 -5
  34. ultralytics/utils/torch_utils.py +5 -34
  35. {dgenerate_ultralytics_headless-8.3.202.dist-info → dgenerate_ultralytics_headless-8.3.204.dist-info}/WHEEL +0 -0
  36. {dgenerate_ultralytics_headless-8.3.202.dist-info → dgenerate_ultralytics_headless-8.3.204.dist-info}/entry_points.txt +0 -0
  37. {dgenerate_ultralytics_headless-8.3.202.dist-info → dgenerate_ultralytics_headless-8.3.204.dist-info}/licenses/LICENSE +0 -0
  38. {dgenerate_ultralytics_headless-8.3.202.dist-info → dgenerate_ultralytics_headless-8.3.204.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.3.202
3
+ Version: 8.3.204
4
4
  Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -270,11 +270,11 @@ Refer to the [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) fo
270
270
 
271
271
  | Model | size<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
272
272
  | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
273
- | [YOLO11n-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-seg.pt) | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 10.4 |
274
- | [YOLO11s-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-seg.pt) | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 35.5 |
275
- | [YOLO11m-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-seg.pt) | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 123.3 |
276
- | [YOLO11l-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-seg.pt) | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 142.2 |
277
- | [YOLO11x-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-seg.pt) | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 319.0 |
273
+ | [YOLO11n-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-seg.pt) | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 9.7 |
274
+ | [YOLO11s-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-seg.pt) | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 33.0 |
275
+ | [YOLO11m-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-seg.pt) | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 113.2 |
276
+ | [YOLO11l-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-seg.pt) | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 132.2 |
277
+ | [YOLO11x-seg](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-seg.pt) | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 296.4 |
278
278
 
279
279
  - **mAP<sup>val</sup>** values are for single-model single-scale on the [COCO val2017](https://cocodataset.org/) dataset. See [YOLO Performance Metrics](https://docs.ultralytics.com/guides/yolo-performance-metrics/) for details. <br>Reproduce with `yolo val segment data=coco.yaml device=0`
280
280
  - **Speed** metrics are averaged over COCO val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val segment data=coco.yaml batch=1 device=0|cpu`
@@ -287,11 +287,11 @@ Consult the [Classification Docs](https://docs.ultralytics.com/tasks/classify/)
287
287
 
288
288
  | Model | size<br><sup>(pixels) | acc<br><sup>top1 | acc<br><sup>top5 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) at 224 |
289
289
  | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ |
290
- | [YOLO11n-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-cls.pt) | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 0.5 |
291
- | [YOLO11s-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-cls.pt) | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 1.6 |
292
- | [YOLO11m-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-cls.pt) | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 5.0 |
293
- | [YOLO11l-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-cls.pt) | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 6.2 |
294
- | [YOLO11x-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-cls.pt) | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 13.7 |
290
+ | [YOLO11n-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-cls.pt) | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 2.8 | 0.5 |
291
+ | [YOLO11s-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-cls.pt) | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 6.7 | 1.6 |
292
+ | [YOLO11m-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-cls.pt) | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 11.6 | 4.9 |
293
+ | [YOLO11l-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-cls.pt) | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 14.1 | 6.2 |
294
+ | [YOLO11x-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-cls.pt) | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 29.6 | 13.6 |
295
295
 
296
296
  - **acc** values represent model accuracy on the [ImageNet](https://www.image-net.org/) dataset validation set. <br>Reproduce with `yolo val classify data=path/to/ImageNet device=0`
297
297
  - **Speed** metrics are averaged over ImageNet val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val classify data=path/to/ImageNet batch=1 device=0|cpu`
@@ -304,11 +304,11 @@ See the [Pose Estimation Docs](https://docs.ultralytics.com/tasks/pose/) for usa
304
304
 
305
305
  | Model | size<br><sup>(pixels) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
306
306
  | ---------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
307
- | [YOLO11n-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-pose.pt) | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
308
- | [YOLO11s-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-pose.pt) | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
309
- | [YOLO11m-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-pose.pt) | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
310
- | [YOLO11l-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-pose.pt) | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
311
- | [YOLO11x-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-pose.pt) | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
307
+ | [YOLO11n-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-pose.pt) | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.4 |
308
+ | [YOLO11s-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-pose.pt) | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.1 |
309
+ | [YOLO11m-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-pose.pt) | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.4 |
310
+ | [YOLO11l-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-pose.pt) | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.1 | 90.3 |
311
+ | [YOLO11x-pose](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-pose.pt) | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 202.8 |
312
312
 
313
313
  - **mAP<sup>val</sup>** values are for single-model single-scale on the [COCO Keypoints val2017](https://docs.ultralytics.com/datasets/pose/coco/) dataset. See [YOLO Performance Metrics](https://docs.ultralytics.com/guides/yolo-performance-metrics/) for details. <br>Reproduce with `yolo val pose data=coco-pose.yaml device=0`
314
314
  - **Speed** metrics are averaged over COCO val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val pose data=coco-pose.yaml batch=1 device=0|cpu`
@@ -321,11 +321,11 @@ Check the [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples
321
321
 
322
322
  | Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
323
323
  | -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
324
- | [YOLO11n-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-obb.pt) | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 17.2 |
325
- | [YOLO11s-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-obb.pt) | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.5 |
326
- | [YOLO11m-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-obb.pt) | 1024 | 80.9 | 562.8 ± 2.9 | 10.1 ± 0.4 | 20.9 | 183.5 |
327
- | [YOLO11l-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-obb.pt) | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.2 | 232.0 |
328
- | [YOLO11x-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-obb.pt) | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
324
+ | [YOLO11n-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-obb.pt) | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 16.8 |
325
+ | [YOLO11s-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-obb.pt) | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.1 |
326
+ | [YOLO11m-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-obb.pt) | 1024 | 80.9 | 562.8 ± 2.9 | 10.1 ± 0.4 | 20.9 | 182.8 |
327
+ | [YOLO11l-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-obb.pt) | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.1 | 231.2 |
328
+ | [YOLO11x-obb](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-obb.pt) | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 519.1 |
329
329
 
330
330
  - **mAP<sup>test</sup>** values are for single-model multiscale performance on the [DOTAv1 test set](https://captain-whu.github.io/DOTA/dataset.html). <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to the [DOTA evaluation server](https://captain-whu.github.io/DOTA/evaluation.html).
331
331
  - **Speed** metrics are averaged over [DOTAv1 val images](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10) using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
@@ -1,14 +1,14 @@
1
- dgenerate_ultralytics_headless-8.3.202.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
1
+ dgenerate_ultralytics_headless-8.3.204.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
2
2
  tests/__init__.py,sha256=b4KP5_q-2IO8Br8YHOSLYnn7IwZS81l_vfEF2YPa2lM,894
3
3
  tests/conftest.py,sha256=LXtQJcFNWPGuzauTGkiXgsvVC3llJKfg22WcmhRzuQc,2593
4
- tests/test_cli.py,sha256=EMf5gTAopOnIz8VvzaM-Qb044o7D0flnUHYQ-2ffOM4,5670
5
- tests/test_cuda.py,sha256=3eiigQIWEkqLsIznlqAMrAi3Dhd_N54Ojtm5LCQELyo,8022
4
+ tests/test_cli.py,sha256=0jqS6RfzmJeqgjozUqfT4AoP2d_IhUR0Ej-5ToQBK7A,5463
5
+ tests/test_cuda.py,sha256=L2CAdEIXCwrhWtOAhBLTmaQZ9dnLmSEy5jEsxXjK4-0,8127
6
6
  tests/test_engine.py,sha256=8W4_D48ZBUp-DsUlRYxHTXzougycY8yggvpbVwQDLPg,5025
7
- tests/test_exports.py,sha256=dWuroSyqXnrc0lE-RNTf7pZoXXXEkOs31u7nhOiEHS0,10994
7
+ tests/test_exports.py,sha256=s3jnOeyoe-eapOs4EB2pFDy4_yGx53IzwpKjOR6TwGM,10996
8
8
  tests/test_integrations.py,sha256=kl_AKmE_Qs1GB0_91iVwbzNxofm_hFTt0zzU6JF-pg4,6323
9
- tests/test_python.py,sha256=2V23f2-JQsO-K4p1kj0IkCRxHykGwgd0edKJzRsBgdI,27911
10
- tests/test_solutions.py,sha256=6wJ9-lhyWSAm7zaR4D9L_DrUA3iJU1NgqmbQO6PIuvo,13211
11
- ultralytics/__init__.py,sha256=G1mm6n1LLsHdXaTS_Bpe-yd2AEKD1QN3HX68A1OCpt4,1120
9
+ tests/test_python.py,sha256=2W1f15r9B1TQ8HEf2yXcJ3s3_Dn7S5SCBY8DIBM373k,28203
10
+ tests/test_solutions.py,sha256=oaTz5BttPDIeHkQh9oEaw-O73L4iYDP3Lfe82V7DeKM,13416
11
+ ultralytics/__init__.py,sha256=49BGfxMH0Y0xKyeOWvKQd0jHhZXcYPQgIhulcZOkILU,1120
12
12
  ultralytics/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
13
13
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
14
14
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
@@ -110,25 +110,25 @@ ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,
110
110
  ultralytics/data/annotator.py,sha256=f15TCDEM8SuuzHiFB8oyhTy9vfywKmPTLSPAgsZQP9I,2990
111
111
  ultralytics/data/augment.py,sha256=7NsRCYu_uM6KkpU0F03NC9Ra_GQVGp2dRO1RksrrU38,132897
112
112
  ultralytics/data/base.py,sha256=gWoGFifyNe1TCwtGdGp5jzKOQ9sh4b-XrfyN0PPvRaY,19661
113
- ultralytics/data/build.py,sha256=Bhu8E-FNSkTbz6YpNXeUBmQtN91ZtZxOCUiKYXgzV-c,11778
113
+ ultralytics/data/build.py,sha256=cdhD1Z4Gv9KLi5n9OchDRBH8rfMQ1NyDja_D7DmAS00,11879
114
114
  ultralytics/data/converter.py,sha256=N1YFD0mG7uwL12wMcuVtF2zbISBIzTsGiy1QioDTDGs,32049
115
115
  ultralytics/data/dataset.py,sha256=GL6J_fvluaF2Ck1in3W5q3Xm7lRcUd6Amgd_uu6r_FM,36772
116
116
  ultralytics/data/loaders.py,sha256=sfQ0C86uBg9QQbN3aU0W8FIjGQmMdJTQAMK4DA1bjk8,31748
117
117
  ultralytics/data/split.py,sha256=5ubnL_wsEutFQOj4I4K01L9UpZrrO_vO3HrydSLJyIY,5107
118
118
  ultralytics/data/split_dota.py,sha256=Lz04qVufTvHn4cTyo3VkqoIM93rb-Ymr8uOIXeSsaJI,12910
119
- ultralytics/data/utils.py,sha256=k2BVQbSf9sZ16ak_-ppeL6dzDCBeYh5UWJwXjyrTYVY,36715
119
+ ultralytics/data/utils.py,sha256=rrHphhNcAT29Xpulg2RqvU4UlcLN3cPmsXvT7UvAXb0,36979
120
120
  ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
121
121
  ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
122
122
  ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
123
123
  ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
124
124
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
125
- ultralytics/engine/exporter.py,sha256=zq5b9m_SlRDwXor6Iq1qKFKkRphIAbJBVvGsRmMUCGA,68280
125
+ ultralytics/engine/exporter.py,sha256=dt3WT8wmMiGcBMI6Z3lw0UY1eKvEolRe6IhrqxhPcaE,69912
126
126
  ultralytics/engine/model.py,sha256=iwwaL2NR5NSwQ7R3juHzS3ds9W-CfhC_CjUcwMvcgsk,53426
127
127
  ultralytics/engine/predictor.py,sha256=4lfw2RbBDE7939011FcSCuznscrcnMuabZtc8GXaKO4,22735
128
128
  ultralytics/engine/results.py,sha256=uQ_tgvdxKAg28pRgb5WCHiqx9Ktu7wYiVbwZy_IJ5bo,71499
129
- ultralytics/engine/trainer.py,sha256=25SIKM5Wi1XbpNz4SckmsfzbF60V-T4wKKa29FhXX1U,41035
130
- ultralytics/engine/tuner.py,sha256=XwWu6gEERpialS_uqswSSI3HjH8Hb9-71TKtu_PGiCU,21656
131
- ultralytics/engine/validator.py,sha256=7tADPOXRZz0Yi7F-Z5SxcUnwytaa2MfbtuSdO8pp_l4,16966
129
+ ultralytics/engine/trainer.py,sha256=OQZWfG2PFm8O6N6fwFmTOgkGeRSR5gSGjfy9NWNnKnQ,41178
130
+ ultralytics/engine/tuner.py,sha256=Cq_iyP3Ur2AbG7sR-Z0p1_szZ34UH0AY0bCwetglqRA,21674
131
+ ultralytics/engine/validator.py,sha256=s7cKMqj2HgVm-GL9bUc76QBeue2jb4cKPk-uQQG5nck,16949
132
132
  ultralytics/hub/__init__.py,sha256=xCF02lzlPKbdmGfO3NxLuXl5Kb0MaBZp_-fAWDHZ8zw,6698
133
133
  ultralytics/hub/auth.py,sha256=RIwZDWfW6vS2yGpZKR0xVl0-38itJYEFtmqY_M70bl8,6304
134
134
  ultralytics/hub/session.py,sha256=1o9vdd_fvPUHQ5oZgljtPePuPMUalIoXqOvE7Sdmd2o,18450
@@ -137,7 +137,7 @@ ultralytics/hub/google/__init__.py,sha256=8o3RorFafO_DzlzImXnzNQXtyPM1k-CQ8tsWSf
137
137
  ultralytics/models/__init__.py,sha256=DqQFFYJ4IQlqIDb61H1HzcnZU7SuHN-43bw94-l-YAQ,309
138
138
  ultralytics/models/fastsam/__init__.py,sha256=HGJ8EKlBAsdF-e2aIwQLjSDAFI_r0yHR0A1gzrp4vqE,231
139
139
  ultralytics/models/fastsam/model.py,sha256=vIdl536LUrefjqMFEJ-9UyK4Ta6p2ki2G_gn2DZ9X_Y,3438
140
- ultralytics/models/fastsam/predict.py,sha256=NtvOTkkb5D790qm0iCFbXPeS7kmSvgiaCcJnsjHufes,8962
140
+ ultralytics/models/fastsam/predict.py,sha256=_qTgUNL8L0XQBvpIBZR_GII0Tt1-cjpu11JcbP-8nbM,9086
141
141
  ultralytics/models/fastsam/utils.py,sha256=yuCXB4CVjRx8lDf61DP8B6qMx7TVf7AynQvdWREeFco,884
142
142
  ultralytics/models/fastsam/val.py,sha256=oLxB8vBKTfiT7eBbTzvpqq_xNSvDOjGdP1J7egHGsCA,2041
143
143
  ultralytics/models/nas/__init__.py,sha256=wybeHZuAXMNeXMjKTbK55FZmXJkA4K9IozDeFM9OB-s,207
@@ -145,7 +145,7 @@ ultralytics/models/nas/model.py,sha256=Z2Mq4uiI9Mk2qYLFha5j3efpHVuJ5ySfpdAu9kFGP
145
145
  ultralytics/models/nas/predict.py,sha256=J4UT7nwi_h63lJ3a_gYac-Ws8wFYingZINxMqSoaX5E,2706
146
146
  ultralytics/models/nas/val.py,sha256=QUTE3zuhJLVqmDGd2n7iSSk7X6jKZCRxufFkBbyxYYo,1548
147
147
  ultralytics/models/rtdetr/__init__.py,sha256=_jEHmOjI_QP_nT3XJXLgYHQ6bXG4EL8Gnvn1y_eev1g,225
148
- ultralytics/models/rtdetr/model.py,sha256=e2u6kQEYawRXGGO6HbFDE1uyHfsIqvKk4IpVjjYN41k,2182
148
+ ultralytics/models/rtdetr/model.py,sha256=Pq9QDgaZetDnjxdYSoomj2s6vOGSdpsqVfyN5j0GUmc,2292
149
149
  ultralytics/models/rtdetr/predict.py,sha256=43-gGCHEH7UQQ6H1oXdlDlrM39esnp-YEhqCvZOwtOM,4279
150
150
  ultralytics/models/rtdetr/train.py,sha256=SNntxGHXatbNqn1yna5_dDQiR_ciDK6o_4S7JIHU7EY,3765
151
151
  ultralytics/models/rtdetr/val.py,sha256=l26CzpcYHYC0sQ--rKUFBCYl73nsgAGOj1U3xScNzFs,8918
@@ -153,13 +153,13 @@ ultralytics/models/sam/__init__.py,sha256=4VtjxrbrSsqBvteaD_CwA4Nj3DdSUG1MknymtW
153
153
  ultralytics/models/sam/amg.py,sha256=sNSBMacS5VKx4NnzdYwBPKJniMNuhpi8VzOMjitGwvo,11821
154
154
  ultralytics/models/sam/build.py,sha256=JEGNXDtBtzp7VIcaYyup7Rwqf1ETSEcX1E1mqBmbMgU,12629
155
155
  ultralytics/models/sam/model.py,sha256=qV8tlHQA1AHUqGkWbwtI7cLw0Rgy3a4X9S2c_wu5fh4,7237
156
- ultralytics/models/sam/predict.py,sha256=jjAIrwEUsNZoQyZwDCRcCwNoPTbfi1FXEkw7HP-eK40,105001
156
+ ultralytics/models/sam/predict.py,sha256=7-41iwR5hCiXZHA6Jqseg0IFFc2eOnuptYN0Ugc8wqY,105171
157
157
  ultralytics/models/sam/modules/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
158
158
  ultralytics/models/sam/modules/blocks.py,sha256=KATWIut_HO4E_8dGdvv5gt1_r8yUVXw1jkyN_bvRAYQ,46055
159
159
  ultralytics/models/sam/modules/decoders.py,sha256=PGNNpy1ttAy6xV_ERW1Ld3Kf9LGDG3mibOss0SeHAis,25623
160
160
  ultralytics/models/sam/modules/encoders.py,sha256=VOgwSDFep_zqssESz8mNDPDdJfQmP97kHVN-MrExGnk,37326
161
161
  ultralytics/models/sam/modules/memory_attention.py,sha256=BOkV6ULHc0Iiw_tHcNYosYrZ1tAXyC0DG46ktQzR91E,13638
162
- ultralytics/models/sam/modules/sam.py,sha256=Ys9sSfRIhP3sxgZolGynpJQhJQgU6ydEW8Wb07HneYg,55624
162
+ ultralytics/models/sam/modules/sam.py,sha256=6GuhW7nGyNfyD1p6DT804gy8mFGIrzpsV-4SrqJXQnw,55641
163
163
  ultralytics/models/sam/modules/tiny_encoder.py,sha256=fSxTByC7OSmHYg93KylsFayh6nPdlidRk1BORh6X-p0,42199
164
164
  ultralytics/models/sam/modules/transformer.py,sha256=UdZdhGQYYPTU6R4A4Yyy-hElQLCG7nX726iTKaV977A,14958
165
165
  ultralytics/models/sam/modules/utils.py,sha256=XReheR5K0jbTKYy5k_iSC1vocUndi8aBkesz-n6Pl9g,16045
@@ -167,15 +167,15 @@ ultralytics/models/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXp
167
167
  ultralytics/models/utils/loss.py,sha256=NABWnevvc9eMYKqo1m2f-lLICFavZQITyNlPbcX1xi4,21231
168
168
  ultralytics/models/utils/ops.py,sha256=HkIrCE0wTiXPmHCDM8IMAy0inOy7U6ZABWqu5_KY0qo,15239
169
169
  ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR5b7zDk,307
170
- ultralytics/models/yolo/model.py,sha256=b_F1AeBUgiSssRxZ-rGQVdB0a37rDG92h_03o0N29B8,18761
170
+ ultralytics/models/yolo/model.py,sha256=PH8nXl0ZulgjWMr9M-XAK2TcdaBNXX5AzofIhcKbTQ0,18840
171
171
  ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
172
172
  ultralytics/models/yolo/classify/predict.py,sha256=o7pDE8xwjkHUUIIOph7ZVQZyGZyob24dYDQ460v_7R0,4149
173
- ultralytics/models/yolo/classify/train.py,sha256=BpzPNBJ3F_cg4VqnIiDZVwdUslTTZB9FoDAywhGqbXg,9612
174
- ultralytics/models/yolo/classify/val.py,sha256=SslmUSnOAgw1vvFQ4hFbdxuOq8dgfAgGd4D6mpZphZA,10047
173
+ ultralytics/models/yolo/classify/train.py,sha256=juAdpi0wIsnleACkq9Rct9io-Gr1A4gG511VqIUvu8E,9656
174
+ ultralytics/models/yolo/classify/val.py,sha256=vmafe9oCqpy8Elab3jZwxMtXhzHodCVRo_vrsOLLhuQ,10091
175
175
  ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
176
176
  ultralytics/models/yolo/detect/predict.py,sha256=Vtpqb2gHI7hv9TaBBXsnoScQ8HrSnj0PPOkEu07MwLc,5394
177
- ultralytics/models/yolo/detect/train.py,sha256=QT_ItVx1ss6Iui8LIV4n0rY9QZKIKYTnQnFkTRo5cLo,10532
178
- ultralytics/models/yolo/detect/val.py,sha256=xjfkgeiTRG_m-0hlAZrIyklxB6-ApCBLaC-R_Te8fP8,21329
177
+ ultralytics/models/yolo/detect/train.py,sha256=rnmCt0TG5bdySE2TVUsUqwyyF_LTy4dZdlACoM1MhcU,10554
178
+ ultralytics/models/yolo/detect/val.py,sha256=yWzaimDaR6pvGX4hIy5ytaqKy8Qo-B7w7hJPavMmVNg,21351
179
179
  ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
180
180
  ultralytics/models/yolo/obb/predict.py,sha256=4r1eSld6TNJlk9JG56e-DX6oPL8uBBqiuztyBpxWlHE,2888
181
181
  ultralytics/models/yolo/obb/train.py,sha256=BbehrsKP0lHRV3v7rrw8wAeiDdc-szbhHAmDy0OdhoM,3461
@@ -189,23 +189,23 @@ ultralytics/models/yolo/segment/predict.py,sha256=HePes5rQ9v3iTCpn3vrIee0SsAsJuJ
189
189
  ultralytics/models/yolo/segment/train.py,sha256=5aPK5FDHLzbXb3R5TCpsAr1O6-8rtupOIoDokY8bSDs,3032
190
190
  ultralytics/models/yolo/segment/val.py,sha256=fJLDJpK1RZgeMvmtf47BjHhZ9lzX_4QfUuBzGXZqIhA,11289
191
191
  ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
192
- ultralytics/models/yolo/world/train.py,sha256=zVPtVoBedberGkth3tPuIH665HjGNJvTMLw_wLZQM84,7870
192
+ ultralytics/models/yolo/world/train.py,sha256=IBuzLgsNJEFuMaWgrhE3sqIl0vltdzxlPj9Wm0S2diI,7956
193
193
  ultralytics/models/yolo/world/train_world.py,sha256=9p9YIckrATaJjGOrpmuC8MbZX9qdoCPCEV9EGZ0sExg,9553
194
194
  ultralytics/models/yolo/yoloe/__init__.py,sha256=6SLytdJtwu37qewf7CobG7C7Wl1m-xtNdvCXEasfPDE,760
195
195
  ultralytics/models/yolo/yoloe/predict.py,sha256=pcbAUbosr1Xc436MfQi6ah3MQ6kkPzjOcltmdA3VMDE,7124
196
- ultralytics/models/yolo/yoloe/train.py,sha256=jcXqGm8CReOCVMFLk-1bNe0Aw5PWaaQa8xBWxtrt5TY,13571
196
+ ultralytics/models/yolo/yoloe/train.py,sha256=qefvNNXDTOK1tO3va0kNHr8lE5QJkOlV8GdZdRx3Mis,13034
197
197
  ultralytics/models/yolo/yoloe/train_seg.py,sha256=aCV7M8oQOvODFnU4piZdJh3tIrBJYAzZfRVRx1vRgxo,4956
198
198
  ultralytics/models/yolo/yoloe/val.py,sha256=5Gd9EoFH0FmKKvWXBl4J7gBe9DVxIczN-s3ceHwdUDo,9458
199
199
  ultralytics/nn/__init__.py,sha256=PJgOn2phQTTBR2P3s_JWvGeGXQpvw1znsumKow4tCuE,545
200
- ultralytics/nn/autobackend.py,sha256=WWHIFvCI47Wpe3NCDkoUg3esjOTJ0XGEzG3luA_uG-8,41063
200
+ ultralytics/nn/autobackend.py,sha256=Xs1svmcpp0_Zt-g17rdRQF3uDX0N-hRnQCkziYzuq2Y,41089
201
201
  ultralytics/nn/tasks.py,sha256=1hz7w60SNYk7T5TRWBOPup-mbAqCJDgZ91rv9cheqdc,70379
202
202
  ultralytics/nn/text_model.py,sha256=pHqnKe8UueR1MuwJcIE_IvrnYIlt68QL796xjcRJs2A,15275
203
203
  ultralytics/nn/modules/__init__.py,sha256=BPMbEm1daI7Tuds3zph2_afAX7Gq1uAqK8BfiCfKTZs,3198
204
204
  ultralytics/nn/modules/activation.py,sha256=75JcIMH2Cu9GTC2Uf55r_5YLpxcrXQDaVoeGQ0hlUAU,2233
205
205
  ultralytics/nn/modules/block.py,sha256=-5RfsA_ljekL8_bQPGupSn9dVcZ8V_lVsOGlhzIW1kg,70622
206
206
  ultralytics/nn/modules/conv.py,sha256=U6P1ZuzQmIf09noKwp7syuWn-M98Tly2wMWOsDT3kOI,21457
207
- ultralytics/nn/modules/head.py,sha256=RpeAR7U8S5sqegmOk76Ch2a_jH4lnsHTZWft3CHbICA,53308
208
- ultralytics/nn/modules/transformer.py,sha256=l6NuuFF7j_bogcNULHBBdj5l6sf7MwiVEGz8XcRyTUM,31366
207
+ ultralytics/nn/modules/head.py,sha256=FWpgbS8d1My62pyyQH89nbFgHhHIZ-sgSp3YyRet_oY,53308
208
+ ultralytics/nn/modules/transformer.py,sha256=AkWqDGPtk5AgEaAZgP3TObu1nDr4_B_2fzOr3xqq6EY,31470
209
209
  ultralytics/nn/modules/utils.py,sha256=rn8yTObZGkQoqVzjbZWLaHiytppG4ffjMME4Lw60glM,6092
210
210
  ultralytics/solutions/__init__.py,sha256=ZoeAQavTLp8aClnhZ9tbl6lxy86GxofyGvZWTx2aWkI,1209
211
211
  ultralytics/solutions/ai_gym.py,sha256=VHUYkq2AT5Zaee-Px9abvN97thhomz7VDqg0HNZLKLI,5217
@@ -221,10 +221,10 @@ ultralytics/solutions/parking_management.py,sha256=DMPl1rd0TegTrUvrCM44_y-HZTx3D
221
221
  ultralytics/solutions/queue_management.py,sha256=ks94mmPhuKHnkZcUPLEdEc462L0sfT1u9yOvObSYK3Y,4390
222
222
  ultralytics/solutions/region_counter.py,sha256=KjU5nErQ_maNzchtS3Cu54PcGTf_yxaR8iBZwFRSPNI,6048
223
223
  ultralytics/solutions/security_alarm.py,sha256=czEaMcy04q-iBkKqT_14d8H20CFB6zcKH_31nBGQnyw,6345
224
- ultralytics/solutions/similarity_search.py,sha256=He5JGtlJDO0qPxBcWjMzsIOXnb0exCJYo-WnPcm6W9E,9535
224
+ ultralytics/solutions/similarity_search.py,sha256=e741sdKEKIuTc28qmOBnAhE61ajjUOMYw1rsc-f0dEU,9656
225
225
  ultralytics/solutions/solutions.py,sha256=syChH-uYq6YGspXflKJF96gNVnkxOLobkLM_ceMZI6Q,36042
226
226
  ultralytics/solutions/speed_estimation.py,sha256=chg_tBuKFw3EnFiv_obNDaUXLAo-FypxC7gsDeB_VUI,5878
227
- ultralytics/solutions/streamlit_inference.py,sha256=RQgoQ345YwakEdfUtBg_iWKdZD1CMPUcIme5v9r4D_4,13056
227
+ ultralytics/solutions/streamlit_inference.py,sha256=28p2fBTsCLtN7jOv4Q2Ppw3BHwhowsmWV5y82iXC8WU,13074
228
228
  ultralytics/solutions/trackzone.py,sha256=6W_55Iio884FCj12r5zItAkedStAnTfz3ZNEYxQ7ozg,3941
229
229
  ultralytics/solutions/vision_eye.py,sha256=GiooS_ajmhafjqlAGENEDsGPKsqmThq9mHrzuHHeghg,3005
230
230
  ultralytics/solutions/templates/similarity-search.html,sha256=nyyurpWlkvYlDeNh-74TlV4ctCpTksvkVy2Yc4ImQ1U,4261
@@ -241,7 +241,7 @@ ultralytics/utils/__init__.py,sha256=whSIuj-0lV0SAp4YjOeBJZ2emP1Qa8pqLnrhRiwl2Qs
241
241
  ultralytics/utils/autobatch.py,sha256=i6KYLLSItKP1Q2IUlTPHrZhjcxl7UOjs0Seb8bF8pvM,5124
242
242
  ultralytics/utils/autodevice.py,sha256=d9yq6eEn05fdfzfpxeSECd0YEO61er5f7T-0kjLdofg,8843
243
243
  ultralytics/utils/benchmarks.py,sha256=wBsDrwtc6NRM9rIDmqeGQ_9yxOTetnchXXHwZSUhp18,31444
244
- ultralytics/utils/checks.py,sha256=H4WvEOjaxrsG0pVIpJASGXs0m3yPFUcNZRwZjnSgowQ,34523
244
+ ultralytics/utils/checks.py,sha256=EaZh6gmv8vk9dnmSLNusKBHMh-ZSD4NxA3wXVjVMa_o,35798
245
245
  ultralytics/utils/cpu.py,sha256=OPlVxROWhQp-kEa9EkeNRKRQ-jz0KwySu5a-h91JZjk,3634
246
246
  ultralytics/utils/dist.py,sha256=5xQhWK0OLORvseAL08UmG1LYdkiDVLquxmaGSnqiSqo,4151
247
247
  ultralytics/utils/downloads.py,sha256=JIlHfUg-qna5aOHRJupH7d5zob2qGZtRrs86Cp3zOJs,23029
@@ -252,13 +252,13 @@ ultralytics/utils/git.py,sha256=DcaxKNQfCiG3cxdzuw7M6l_VXgaSVqkERQt_vl8UyXM,5512
252
252
  ultralytics/utils/instance.py,sha256=_b_jMTECWJGzncCiTg7FtTDSSeXGnbiAhaJhIsqbn9k,19043
253
253
  ultralytics/utils/logger.py,sha256=o_vH4CCgQat6_Sbmwm1sUAJ4muAgVcsUed-WqpGNQZw,15129
254
254
  ultralytics/utils/loss.py,sha256=wJ0F2DpRTI9-e9adxIm2io0zcXRa0RTWFTOc7WmS1-A,39827
255
- ultralytics/utils/metrics.py,sha256=42zu-qeSvtL4JtvFDQy-7_5OJLwU4M8b5V8uRHBPFUQ,68829
255
+ ultralytics/utils/metrics.py,sha256=DC-JuakuhHfeCeLvUHb7wj1HPhuFakx00rqXicTka5Y,68834
256
256
  ultralytics/utils/nms.py,sha256=AVOmPuUTEJqmq2J6rvjq-nHNxYIyabgzHdc41siyA0w,14161
257
257
  ultralytics/utils/ops.py,sha256=PW3fgw1d18CA2ZNQZVJqUy054cJ_9tIcxd1XnA0FPgU,26905
258
258
  ultralytics/utils/patches.py,sha256=0-2G4jXCIPnMonlft-cPcjfFcOXQS6ODwUDNUwanfg4,6541
259
259
  ultralytics/utils/plotting.py,sha256=XWXZi02smBeFji3BSkMZNNNssXzO-dIxFaD15_N1f-4,47221
260
- ultralytics/utils/tal.py,sha256=LrziY_ZHz4wln3oOnqAzgyPaXKoup17Sa103BpuaQFU,20935
261
- ultralytics/utils/torch_utils.py,sha256=n-CMgLfQsg-SNF281nNHJm_kBdxPIrVr7xrI6gneL20,41771
260
+ ultralytics/utils/tal.py,sha256=7KQYNyetfx18CNc_bvNG7BDb44CIU3DEu4qziVVvNAE,20869
261
+ ultralytics/utils/torch_utils.py,sha256=FU3tzaAYZP_FIrusfOxVrfgBN2e7u7QvHY9yM-xB3Jc,40332
262
262
  ultralytics/utils/tqdm.py,sha256=ny5RIg2OTkWQ7gdaXfYaoIgR0Xn2_hNGB6tUpO2Unns,16137
263
263
  ultralytics/utils/triton.py,sha256=fbMfTAUyoGiyslWtySzLZw53XmZJa7rF31CYFot0Wjs,5422
264
264
  ultralytics/utils/tuner.py,sha256=9D4dSIvwwxcNSJcH2QJ92qiIVi9zu-1L7_PBZ8okDyE,6816
@@ -276,8 +276,8 @@ ultralytics/utils/callbacks/tensorboard.py,sha256=_4nfGK1dDLn6ijpvphBDhc-AS8qhS3
276
276
  ultralytics/utils/callbacks/wb.py,sha256=ngQO8EJ1kxJDF1YajScVtzBbm26jGuejA0uWeOyvf5A,7685
277
277
  ultralytics/utils/export/__init__.py,sha256=jQtf716PP0jt7bMoY9FkqmjG26KbvDzuR84jGhaBi2U,9901
278
278
  ultralytics/utils/export/imx.py,sha256=Jl5nuNxqaP_bY5yrV2NypmoJSrexHE71TxR72SDdjcg,11394
279
- dgenerate_ultralytics_headless-8.3.202.dist-info/METADATA,sha256=D_B76aXxTCNYWl5hzgOFS10RI8LsVp1Oacl41aVSR3Q,38763
280
- dgenerate_ultralytics_headless-8.3.202.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
281
- dgenerate_ultralytics_headless-8.3.202.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
282
- dgenerate_ultralytics_headless-8.3.202.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
283
- dgenerate_ultralytics_headless-8.3.202.dist-info/RECORD,,
279
+ dgenerate_ultralytics_headless-8.3.204.dist-info/METADATA,sha256=j6QN8pQDpUAGLRiLiLauaE2LS6QBGnTkuNd3LZQZqI8,38763
280
+ dgenerate_ultralytics_headless-8.3.204.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
281
+ dgenerate_ultralytics_headless-8.3.204.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
282
+ dgenerate_ultralytics_headless-8.3.204.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
283
+ dgenerate_ultralytics_headless-8.3.204.dist-info/RECORD,,
tests/test_cli.py CHANGED
@@ -1,13 +1,14 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
3
  import subprocess
4
+ from pathlib import Path
4
5
 
5
6
  import pytest
6
7
  from PIL import Image
7
8
 
8
9
  from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE, MODELS, TASK_MODEL_DATA
9
10
  from ultralytics.utils import ARM64, ASSETS, LINUX, WEIGHTS_DIR, checks
10
- from ultralytics.utils.torch_utils import TORCH_1_9
11
+ from ultralytics.utils.torch_utils import TORCH_1_11
11
12
 
12
13
 
13
14
  def run(cmd: str) -> None:
@@ -33,7 +34,7 @@ def test_train(task: str, model: str, data: str) -> None:
33
34
  @pytest.mark.parametrize("task,model,data", TASK_MODEL_DATA)
34
35
  def test_val(task: str, model: str, data: str) -> None:
35
36
  """Test YOLO validation process for specified task, model, and data using a shell command."""
36
- run(f"yolo val {task} model={model} data={data} imgsz=32 save_txt save_json")
37
+ run(f"yolo val {task} model={model} data={data} imgsz=32 save_txt save_json visualize")
37
38
 
38
39
 
39
40
  @pytest.mark.parametrize("task,model,data", TASK_MODEL_DATA)
@@ -48,15 +49,12 @@ def test_export(model: str) -> None:
48
49
  run(f"yolo export model={model} format=torchscript imgsz=32")
49
50
 
50
51
 
51
- def test_rtdetr(task: str = "detect", model: str = "yolov8n-rtdetr.yaml", data: str = "coco8.yaml") -> None:
52
+ @pytest.mark.skipif(not TORCH_1_11, reason="RTDETR requires torch>=1.11")
53
+ def test_rtdetr(task: str = "detect", model: Path = WEIGHTS_DIR / "rtdetr-l.pt", data: str = "coco8.yaml") -> None:
52
54
  """Test the RTDETR functionality within Ultralytics for detection tasks using specified model and data."""
53
- # Warning: must use imgsz=640 (note also add comma, spaces, fraction=0.25 args to test single-image training)
54
- run(f"yolo train {task} model={model} data={data} --imgsz= 160 epochs =1, cache = disk fraction=0.25") # spaces
55
+ # Add comma, spaces, fraction=0.25 args to test single-image training
55
56
  run(f"yolo predict {task} model={model} source={ASSETS / 'bus.jpg'} imgsz=160 save save_crop save_txt")
56
- if TORCH_1_9:
57
- weights = WEIGHTS_DIR / "rtdetr-l.pt"
58
- run(f"yolo predict {task} model={weights} source={ASSETS / 'bus.jpg'} imgsz=160 save save_crop save_txt")
59
- run(f"yolo train {task} model={weights} epochs=1 imgsz=160 cache=disk data=coco8.yaml")
57
+ run(f"yolo train {task} model={model} data={data} --imgsz= 160 epochs =1, cache = disk fraction=0.25")
60
58
 
61
59
 
62
60
  @pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="MobileSAM with CLIP is not supported in Python 3.12")
tests/test_cuda.py CHANGED
@@ -70,6 +70,7 @@ def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
70
70
  simplify=simplify,
71
71
  nms=nms,
72
72
  device=DEVICES[0],
73
+ # opset=20 if nms else None, # fix ONNX Runtime errors with NMS
73
74
  )
74
75
  YOLO(file)([SOURCE] * batch, imgsz=64 if dynamic else 32, device=DEVICES[0]) # exported model inference
75
76
  Path(file).unlink() # cleanup
@@ -114,7 +115,9 @@ def test_train():
114
115
  device = tuple(DEVICES) if len(DEVICES) > 1 else DEVICES[0]
115
116
  # NVIDIA Jetson only has one GPU and therefore skipping checks
116
117
  if not IS_JETSON:
117
- results = YOLO(MODEL).train(data="coco8.yaml", imgsz=64, epochs=1, device=device) # requires imgsz>=64
118
+ results = YOLO(MODEL).train(
119
+ data="coco8.yaml", imgsz=64, epochs=1, device=device, batch=15
120
+ ) # requires imgsz>=64
118
121
  visible = eval(os.environ["CUDA_VISIBLE_DEVICES"])
119
122
  assert visible == device, f"Passed GPUs '{device}', but used GPUs '{visible}'"
120
123
  assert (
tests/test_exports.py CHANGED
@@ -20,7 +20,7 @@ from ultralytics.utils import (
20
20
  WINDOWS,
21
21
  checks,
22
22
  )
23
- from ultralytics.utils.torch_utils import TORCH_1_9, TORCH_1_13
23
+ from ultralytics.utils.torch_utils import TORCH_1_11, TORCH_1_13, TORCH_2_1
24
24
 
25
25
 
26
26
  def test_export_torchscript():
@@ -35,7 +35,7 @@ def test_export_onnx():
35
35
  YOLO(file)(SOURCE, imgsz=32) # exported model inference
36
36
 
37
37
 
38
- @pytest.mark.skipif(not TORCH_1_13, reason="OpenVINO requires torch>=1.13")
38
+ @pytest.mark.skipif(not TORCH_2_1, reason="OpenVINO requires torch>=2.1")
39
39
  def test_export_openvino():
40
40
  """Test YOLO export to OpenVINO format for model inference compatibility."""
41
41
  file = YOLO(MODEL).export(format="openvino", imgsz=32)
@@ -43,7 +43,7 @@ def test_export_openvino():
43
43
 
44
44
 
45
45
  @pytest.mark.slow
46
- @pytest.mark.skipif(not TORCH_1_13, reason="OpenVINO requires torch>=1.13")
46
+ @pytest.mark.skipif(not TORCH_2_1, reason="OpenVINO requires torch>=2.1")
47
47
  @pytest.mark.parametrize(
48
48
  "task, dynamic, int8, half, batch, nms",
49
49
  [ # generate all combinations except for exclusion cases
@@ -83,7 +83,7 @@ def test_export_openvino_matrix(task, dynamic, int8, half, batch, nms):
83
83
  for task, dynamic, int8, half, batch, simplify, nms in product(
84
84
  TASKS, [True, False], [False], [False], [1, 2], [True, False], [True, False]
85
85
  )
86
- if not ((int8 and half) or (task == "classify" and nms) or (task == "obb" and nms and not TORCH_1_13))
86
+ if not ((int8 and half) or (task == "classify" and nms) or (nms and not TORCH_1_13))
87
87
  ],
88
88
  )
89
89
  def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
@@ -117,7 +117,7 @@ def test_export_torchscript_matrix(task, dynamic, int8, half, batch, nms):
117
117
 
118
118
  @pytest.mark.slow
119
119
  @pytest.mark.skipif(not MACOS, reason="CoreML inference only supported on macOS")
120
- @pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
120
+ @pytest.mark.skipif(not TORCH_1_11, reason="CoreML export requires torch>=1.11")
121
121
  @pytest.mark.skipif(checks.IS_PYTHON_3_13, reason="CoreML not supported in Python 3.13")
122
122
  @pytest.mark.parametrize(
123
123
  "task, dynamic, int8, half, nms, batch",
@@ -157,7 +157,7 @@ def test_export_coreml_matrix(task, dynamic, int8, half, nms, batch):
157
157
  for task, dynamic, int8, half, batch, nms in product(
158
158
  TASKS, [False], [True, False], [True, False], [1], [True, False]
159
159
  )
160
- if not ((int8 and half) or (task == "classify" and nms) or (ARM64 and nms))
160
+ if not ((int8 and half) or (task == "classify" and nms) or (ARM64 and nms) or (nms and not TORCH_1_13))
161
161
  ],
162
162
  )
163
163
  def test_export_tflite_matrix(task, dynamic, int8, half, batch, nms):
@@ -169,7 +169,7 @@ def test_export_tflite_matrix(task, dynamic, int8, half, batch, nms):
169
169
  Path(file).unlink() # cleanup
170
170
 
171
171
 
172
- @pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
172
+ @pytest.mark.skipif(not TORCH_1_11, reason="CoreML export requires torch>=1.11")
173
173
  @pytest.mark.skipif(WINDOWS, reason="CoreML not supported on Windows") # RuntimeError: BlobWriter not loaded
174
174
  @pytest.mark.skipif(LINUX and ARM64, reason="CoreML not supported on aarch64 Linux")
175
175
  @pytest.mark.skipif(checks.IS_PYTHON_3_13, reason="CoreML not supported in Python 3.13")
tests/test_python.py CHANGED
@@ -34,7 +34,7 @@ from ultralytics.utils import (
34
34
  is_github_action_running,
35
35
  )
36
36
  from ultralytics.utils.downloads import download
37
- from ultralytics.utils.torch_utils import TORCH_1_9
37
+ from ultralytics.utils.torch_utils import TORCH_1_11, TORCH_1_13
38
38
 
39
39
  IS_TMP_WRITEABLE = is_dir_writeable(TMP) # WARNING: must be run once tests start as TMP does not exist on tests/init
40
40
 
@@ -125,7 +125,9 @@ def test_predict_img(model_name):
125
125
  batch = [
126
126
  str(SOURCE), # filename
127
127
  Path(SOURCE), # Path
128
- "https://github.com/ultralytics/assets/releases/download/v0.0.0/zidane.jpg" if ONLINE else SOURCE, # URI
128
+ "https://github.com/ultralytics/assets/releases/download/v0.0.0/zidane.jpg?token=123"
129
+ if ONLINE
130
+ else SOURCE, # URI
129
131
  im, # OpenCV
130
132
  Image.open(SOURCE), # PIL
131
133
  np.zeros((320, 640, channels), dtype=np.uint8), # numpy
@@ -246,7 +248,7 @@ def test_all_model_yamls():
246
248
  """Test YOLO model creation for all available YAML configurations in the `cfg/models` directory."""
247
249
  for m in (ROOT / "cfg" / "models").rglob("*.yaml"):
248
250
  if "rtdetr" in m.name:
249
- if TORCH_1_9: # torch<=1.8 issue - TypeError: __init__() got an unexpected keyword argument 'batch_first'
251
+ if TORCH_1_11:
250
252
  _ = RTDETR(m.name)(SOURCE, imgsz=640) # must be 640
251
253
  else:
252
254
  YOLO(m.name)
@@ -634,7 +636,8 @@ def test_yolo_world():
634
636
  )
635
637
 
636
638
 
637
- @pytest.mark.skipif(checks.IS_PYTHON_3_12 or not TORCH_1_9, reason="YOLOE with CLIP is not supported in Python 3.12")
639
+ @pytest.mark.skipif(not TORCH_1_13, reason="YOLOE with CLIP requires torch>=1.13")
640
+ @pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="YOLOE with CLIP is not supported in Python 3.12")
638
641
  @pytest.mark.skipif(
639
642
  checks.IS_PYTHON_3_8 and LINUX and ARM64,
640
643
  reason="YOLOE with CLIP is not supported in Python 3.8 and aarch64 Linux",
@@ -648,16 +651,12 @@ def test_yoloe():
648
651
  model.set_classes(names, model.get_text_pe(names))
649
652
  model(SOURCE, conf=0.01)
650
653
 
651
- import numpy as np
652
-
653
654
  from ultralytics import YOLOE
654
655
  from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor
655
656
 
656
657
  # visual-prompts
657
658
  visuals = dict(
658
- bboxes=np.array(
659
- [[221.52, 405.8, 344.98, 857.54], [120, 425, 160, 445]],
660
- ),
659
+ bboxes=np.array([[221.52, 405.8, 344.98, 857.54], [120, 425, 160, 445]]),
661
660
  cls=np.array([0, 1]),
662
661
  )
663
662
  model.predict(
@@ -674,7 +673,7 @@ def test_yoloe():
674
673
  model.val(data="coco128-seg.yaml", load_vp=True, imgsz=32)
675
674
 
676
675
  # Train, fine-tune
677
- from ultralytics.models.yolo.yoloe import YOLOEPESegTrainer
676
+ from ultralytics.models.yolo.yoloe import YOLOEPESegTrainer, YOLOESegTrainerFromScratch
678
677
 
679
678
  model = YOLOE("yoloe-11s-seg.pt")
680
679
  model.train(
@@ -684,6 +683,15 @@ def test_yoloe():
684
683
  trainer=YOLOEPESegTrainer,
685
684
  imgsz=32,
686
685
  )
686
+ # Train, from scratch
687
+ model = YOLOE("yoloe-11s-seg.yaml")
688
+ model.train(
689
+ data=dict(train=dict(yolo_data=["coco128-seg.yaml"]), val=dict(yolo_data=["coco128-seg.yaml"])),
690
+ epochs=1,
691
+ close_mosaic=1,
692
+ trainer=YOLOESegTrainerFromScratch,
693
+ imgsz=32,
694
+ )
687
695
 
688
696
  # prompt-free
689
697
  # predict
tests/test_solutions.py CHANGED
@@ -12,8 +12,9 @@ import pytest
12
12
 
13
13
  from tests import MODEL, TMP
14
14
  from ultralytics import solutions
15
- from ultralytics.utils import ASSETS_URL, IS_RASPBERRYPI, checks
15
+ from ultralytics.utils import ASSETS_URL, IS_RASPBERRYPI, TORCH_VERSION, checks
16
16
  from ultralytics.utils.downloads import safe_download
17
+ from ultralytics.utils.torch_utils import TORCH_2_4
17
18
 
18
19
  # Pre-defined arguments values
19
20
  SHOW = False
@@ -205,15 +206,6 @@ def test_solution(name, solution_class, needs_frame_count, video, kwargs):
205
206
  )
206
207
 
207
208
 
208
- @pytest.mark.skipif(checks.IS_PYTHON_3_8, reason="Disabled due to unsupported CLIP dependencies.")
209
- @pytest.mark.skipif(IS_RASPBERRYPI, reason="Disabled due to slow performance on Raspberry Pi.")
210
- def test_similarity_search():
211
- """Test similarity search solution with sample images and text query."""
212
- safe_download(f"{ASSETS_URL}/4-imgs-similaritysearch.zip", dir=TMP) # 4 dog images for testing in a zip file
213
- searcher = solutions.VisualAISearch(data=str(TMP / "4-imgs-similaritysearch"))
214
- _ = searcher("a dog sitting on a bench") # Returns the results in format "- img name | similarity score"
215
-
216
-
217
209
  def test_left_click_selection():
218
210
  """Test distance calculation left click selection functionality."""
219
211
  dc = solutions.DistanceCalculation()
@@ -297,7 +289,16 @@ def test_streamlit_handle_video_upload_creates_file():
297
289
  os.remove("ultralytics.mp4")
298
290
 
299
291
 
300
- @pytest.mark.skipif(checks.IS_PYTHON_3_8, reason="Disabled due to unsupported CLIP dependencies.")
292
+ @pytest.mark.skipif(not TORCH_2_4, reason=f"VisualAISearch requires torch>=2.4 (found torch=={TORCH_VERSION})")
293
+ @pytest.mark.skipif(IS_RASPBERRYPI, reason="Disabled due to slow performance on Raspberry Pi.")
294
+ def test_similarity_search():
295
+ """Test similarity search solution with sample images and text query."""
296
+ safe_download(f"{ASSETS_URL}/4-imgs-similaritysearch.zip", dir=TMP) # 4 dog images for testing in a zip file
297
+ searcher = solutions.VisualAISearch(data=str(TMP / "4-imgs-similaritysearch"))
298
+ _ = searcher("a dog sitting on a bench") # Returns the results in format "- img name | similarity score"
299
+
300
+
301
+ @pytest.mark.skipif(not TORCH_2_4, reason=f"VisualAISearch requires torch>=2.4 (found torch=={TORCH_VERSION})")
301
302
  @pytest.mark.skipif(IS_RASPBERRYPI, reason="Disabled due to slow performance on Raspberry Pi.")
302
303
  def test_similarity_search_app_init():
303
304
  """Test SearchApp initializes with required attributes."""
@@ -306,6 +307,7 @@ def test_similarity_search_app_init():
306
307
  assert hasattr(app, "run")
307
308
 
308
309
 
310
+ @pytest.mark.skipif(not TORCH_2_4, reason=f"VisualAISearch requires torch>=2.4 (found torch=={TORCH_VERSION})")
309
311
  @pytest.mark.skipif(IS_RASPBERRYPI, reason="Disabled due to slow performance on Raspberry Pi.")
310
312
  def test_similarity_search_complete(tmp_path):
311
313
  """Test VisualAISearch end-to-end with sample image and query."""
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.202"
3
+ __version__ = "8.3.204"
4
4
 
5
5
  import importlib
6
6
  import os
ultralytics/data/build.py CHANGED
@@ -7,6 +7,7 @@ import random
7
7
  from collections.abc import Iterator
8
8
  from pathlib import Path
9
9
  from typing import Any
10
+ from urllib.parse import urlsplit
10
11
 
11
12
  import numpy as np
12
13
  import torch
@@ -247,8 +248,10 @@ def check_source(source):
247
248
  if isinstance(source, (str, int, Path)): # int for local usb camera
248
249
  source = str(source)
249
250
  source_lower = source.lower()
250
- is_file = source_lower.rpartition(".")[-1] in (IMG_FORMATS | VID_FORMATS)
251
251
  is_url = source_lower.startswith(("https://", "http://", "rtsp://", "rtmp://", "tcp://"))
252
+ is_file = (urlsplit(source_lower).path if is_url else source_lower).rpartition(".")[-1] in (
253
+ IMG_FORMATS | VID_FORMATS
254
+ )
252
255
  webcam = source.isnumeric() or source.endswith(".streams") or (is_url and not is_file)
253
256
  screenshot = source_lower == "screen"
254
257
  if is_url and is_file:
ultralytics/data/utils.py CHANGED
@@ -512,6 +512,11 @@ def check_cls_dataset(dataset: str | Path, split: str = "") -> dict[str, Any]:
512
512
  dataset = Path(dataset)
513
513
  data_dir = (dataset if dataset.is_dir() else (DATASETS_DIR / dataset)).resolve()
514
514
  if not data_dir.is_dir():
515
+ if data_dir.suffix != "":
516
+ raise ValueError(
517
+ f'Classification datasets must be a directory (data="path/to/dir") not a file (data="{dataset}"), '
518
+ "See https://docs.ultralytics.com/datasets/classify/"
519
+ )
515
520
  LOGGER.info("")
516
521
  LOGGER.warning(f"Dataset not found, missing path {data_dir}, attempting download...")
517
522
  t = time.time()