dgenerate-ultralytics-headless 8.3.141__py3-none-any.whl → 8.3.144__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.
- {dgenerate_ultralytics_headless-8.3.141.dist-info → dgenerate_ultralytics_headless-8.3.144.dist-info}/METADATA +1 -1
- dgenerate_ultralytics_headless-8.3.144.dist-info/RECORD +272 -0
- tests/conftest.py +7 -24
- tests/test_cli.py +1 -1
- tests/test_cuda.py +7 -2
- tests/test_engine.py +7 -8
- tests/test_exports.py +16 -16
- tests/test_integrations.py +1 -1
- tests/test_solutions.py +12 -12
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/__init__.py +22 -19
- ultralytics/data/annotator.py +6 -5
- ultralytics/data/augment.py +127 -126
- ultralytics/data/base.py +54 -51
- ultralytics/data/build.py +47 -23
- ultralytics/data/converter.py +47 -43
- ultralytics/data/dataset.py +51 -50
- ultralytics/data/loaders.py +77 -44
- ultralytics/data/split.py +22 -9
- ultralytics/data/split_dota.py +63 -39
- ultralytics/data/utils.py +59 -39
- ultralytics/engine/exporter.py +79 -27
- ultralytics/engine/model.py +39 -39
- ultralytics/engine/predictor.py +37 -28
- ultralytics/engine/results.py +187 -158
- ultralytics/engine/trainer.py +36 -19
- ultralytics/engine/tuner.py +12 -9
- ultralytics/engine/validator.py +7 -9
- ultralytics/hub/__init__.py +11 -13
- ultralytics/hub/auth.py +22 -2
- ultralytics/hub/google/__init__.py +19 -19
- ultralytics/hub/session.py +37 -51
- ultralytics/hub/utils.py +19 -5
- ultralytics/models/fastsam/model.py +30 -12
- ultralytics/models/fastsam/predict.py +5 -6
- ultralytics/models/fastsam/utils.py +3 -3
- ultralytics/models/fastsam/val.py +10 -6
- ultralytics/models/nas/model.py +9 -5
- ultralytics/models/nas/predict.py +6 -6
- ultralytics/models/nas/val.py +3 -3
- ultralytics/models/rtdetr/model.py +7 -6
- ultralytics/models/rtdetr/predict.py +14 -7
- ultralytics/models/rtdetr/train.py +10 -4
- ultralytics/models/rtdetr/val.py +36 -9
- ultralytics/models/sam/amg.py +30 -12
- ultralytics/models/sam/build.py +22 -22
- ultralytics/models/sam/model.py +10 -9
- ultralytics/models/sam/modules/blocks.py +76 -80
- ultralytics/models/sam/modules/decoders.py +6 -8
- ultralytics/models/sam/modules/encoders.py +23 -26
- ultralytics/models/sam/modules/memory_attention.py +13 -1
- ultralytics/models/sam/modules/sam.py +57 -26
- ultralytics/models/sam/modules/tiny_encoder.py +232 -237
- ultralytics/models/sam/modules/transformer.py +13 -13
- ultralytics/models/sam/modules/utils.py +11 -19
- ultralytics/models/sam/predict.py +114 -101
- ultralytics/models/utils/loss.py +98 -77
- ultralytics/models/utils/ops.py +116 -67
- ultralytics/models/yolo/classify/predict.py +5 -5
- ultralytics/models/yolo/classify/train.py +32 -28
- ultralytics/models/yolo/classify/val.py +7 -8
- ultralytics/models/yolo/detect/predict.py +1 -0
- ultralytics/models/yolo/detect/train.py +15 -14
- ultralytics/models/yolo/detect/val.py +37 -36
- ultralytics/models/yolo/model.py +106 -23
- ultralytics/models/yolo/obb/predict.py +3 -4
- ultralytics/models/yolo/obb/train.py +14 -6
- ultralytics/models/yolo/obb/val.py +29 -23
- ultralytics/models/yolo/pose/predict.py +9 -8
- ultralytics/models/yolo/pose/train.py +24 -16
- ultralytics/models/yolo/pose/val.py +44 -26
- ultralytics/models/yolo/segment/predict.py +5 -5
- ultralytics/models/yolo/segment/train.py +11 -7
- ultralytics/models/yolo/segment/val.py +2 -2
- ultralytics/models/yolo/world/train.py +33 -23
- ultralytics/models/yolo/world/train_world.py +11 -3
- ultralytics/models/yolo/yoloe/predict.py +11 -11
- ultralytics/models/yolo/yoloe/train.py +73 -21
- ultralytics/models/yolo/yoloe/train_seg.py +10 -7
- ultralytics/models/yolo/yoloe/val.py +42 -18
- ultralytics/nn/autobackend.py +59 -15
- ultralytics/nn/modules/__init__.py +4 -4
- ultralytics/nn/modules/activation.py +4 -1
- ultralytics/nn/modules/block.py +178 -111
- ultralytics/nn/modules/conv.py +6 -5
- ultralytics/nn/modules/head.py +469 -121
- ultralytics/nn/modules/transformer.py +147 -58
- ultralytics/nn/tasks.py +227 -20
- ultralytics/nn/text_model.py +30 -33
- ultralytics/solutions/ai_gym.py +1 -1
- ultralytics/solutions/analytics.py +7 -4
- ultralytics/solutions/config.py +10 -10
- ultralytics/solutions/distance_calculation.py +13 -11
- ultralytics/solutions/heatmap.py +1 -1
- ultralytics/solutions/instance_segmentation.py +6 -3
- ultralytics/solutions/object_blurrer.py +3 -3
- ultralytics/solutions/object_counter.py +18 -12
- ultralytics/solutions/object_cropper.py +12 -5
- ultralytics/solutions/parking_management.py +29 -28
- ultralytics/solutions/queue_management.py +6 -6
- ultralytics/solutions/region_counter.py +10 -3
- ultralytics/solutions/security_alarm.py +3 -3
- ultralytics/solutions/similarity_search.py +85 -24
- ultralytics/solutions/solutions.py +215 -85
- ultralytics/solutions/speed_estimation.py +28 -22
- ultralytics/solutions/streamlit_inference.py +17 -12
- ultralytics/solutions/trackzone.py +4 -4
- ultralytics/trackers/basetrack.py +16 -23
- ultralytics/trackers/bot_sort.py +30 -20
- ultralytics/trackers/byte_tracker.py +70 -64
- ultralytics/trackers/track.py +4 -8
- ultralytics/trackers/utils/gmc.py +31 -58
- ultralytics/trackers/utils/kalman_filter.py +37 -37
- ultralytics/trackers/utils/matching.py +1 -1
- ultralytics/utils/__init__.py +105 -89
- ultralytics/utils/autobatch.py +16 -3
- ultralytics/utils/autodevice.py +54 -24
- ultralytics/utils/benchmarks.py +42 -28
- ultralytics/utils/callbacks/base.py +3 -3
- ultralytics/utils/callbacks/clearml.py +9 -9
- ultralytics/utils/callbacks/comet.py +67 -25
- ultralytics/utils/callbacks/dvc.py +7 -10
- ultralytics/utils/callbacks/mlflow.py +2 -5
- ultralytics/utils/callbacks/neptune.py +7 -13
- ultralytics/utils/callbacks/raytune.py +1 -1
- ultralytics/utils/callbacks/tensorboard.py +5 -6
- ultralytics/utils/callbacks/wb.py +14 -14
- ultralytics/utils/checks.py +14 -13
- ultralytics/utils/dist.py +5 -5
- ultralytics/utils/downloads.py +94 -67
- ultralytics/utils/errors.py +5 -5
- ultralytics/utils/export.py +61 -47
- ultralytics/utils/files.py +23 -22
- ultralytics/utils/instance.py +48 -52
- ultralytics/utils/loss.py +78 -40
- ultralytics/utils/metrics.py +186 -130
- ultralytics/utils/ops.py +186 -190
- ultralytics/utils/patches.py +15 -17
- ultralytics/utils/plotting.py +84 -42
- ultralytics/utils/tal.py +21 -15
- ultralytics/utils/torch_utils.py +53 -50
- ultralytics/utils/triton.py +5 -4
- ultralytics/utils/tuner.py +5 -5
- dgenerate_ultralytics_headless-8.3.141.dist-info/RECORD +0 -272
- {dgenerate_ultralytics_headless-8.3.141.dist-info → dgenerate_ultralytics_headless-8.3.144.dist-info}/WHEEL +0 -0
- {dgenerate_ultralytics_headless-8.3.141.dist-info → dgenerate_ultralytics_headless-8.3.144.dist-info}/entry_points.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.141.dist-info → dgenerate_ultralytics_headless-8.3.144.dist-info}/licenses/LICENSE +0 -0
- {dgenerate_ultralytics_headless-8.3.141.dist-info → dgenerate_ultralytics_headless-8.3.144.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.
|
3
|
+
Version: 8.3.144
|
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>
|
@@ -0,0 +1,272 @@
|
|
1
|
+
dgenerate_ultralytics_headless-8.3.144.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
2
|
+
tests/__init__.py,sha256=xnMhv3O_DF1YrW4zk__ZywQzAaoTDjPKPoiI1Ktss1w,670
|
3
|
+
tests/conftest.py,sha256=JjgKSs36ZaGmmtqGmAapmFSoFF1YwyV3IZsOgqt2IVM,2593
|
4
|
+
tests/test_cli.py,sha256=T0HWw0aws8WFlrdVl1NnUnQKROQCRGbjR010iYUN1Sw,5852
|
5
|
+
tests/test_cuda.py,sha256=-nQsfF3lGfqLm6cIeu_BCiXqLj7HzpL7R1GzPEc6z2I,8128
|
6
|
+
tests/test_engine.py,sha256=Jpt2KVrltrEgh2-3Ykouz-2Z_2fza0eymL5ectRXadM,4922
|
7
|
+
tests/test_exports.py,sha256=HmMKOTCia9ZDC0VYc_EPmvBTM5LM5eeI1NF_pKjLpd8,9677
|
8
|
+
tests/test_integrations.py,sha256=cQfgueFhEZ8Xs-tF0uiIEhvn0DlhOH-Wqrx96LXp3D0,6303
|
9
|
+
tests/test_python.py,sha256=Zx9OlPN11_D1WSLpi9nPFqORNHNz0lEn6mxVNL2ZHjE,25852
|
10
|
+
tests/test_solutions.py,sha256=tuf6n_fsI8KvSdJrnc-cqP2qYdiYqCWuVrx0z9dOz3Q,13213
|
11
|
+
ultralytics/__init__.py,sha256=3-pT6fFmi4jAduO28YsWFpL3KKxYvrl1kQhs2qaQLiI,730
|
12
|
+
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
13
|
+
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
14
|
+
ultralytics/cfg/__init__.py,sha256=a2jQYIUoTwYRNUddLWE_TWxD7LQOczveM_BV7qVbork,39655
|
15
|
+
ultralytics/cfg/default.yaml,sha256=oFG6llJO-Py5H-cR9qs-7FieJamroDLwpbrkhmfROOM,8307
|
16
|
+
ultralytics/cfg/datasets/Argoverse.yaml,sha256=_xlEDIJ9XkUo0v_iNL7FW079BoSeZtKSuLteKTtGbA8,3275
|
17
|
+
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
|
18
|
+
ultralytics/cfg/datasets/DOTAv1.yaml,sha256=j_DvXVQzZ4dQmf8I7oPX4v9xO3WZXztxV4Xo9VhUTsM,1194
|
19
|
+
ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=TgPAhAnQAwviZcWRkuVTEww3u9VJ86rBlJvjj58ENu4,2157
|
20
|
+
ultralytics/cfg/datasets/HomeObjects-3K.yaml,sha256=-7HrCmBkKVzfp5c7LCHg-nBZYMZ4j58QVHXz_4V6daQ,990
|
21
|
+
ultralytics/cfg/datasets/ImageNet.yaml,sha256=6F1GXJg80iS8PJTcbAVbZX7Eb25NdJAAZ4UIS8mmrhk,42543
|
22
|
+
ultralytics/cfg/datasets/Objects365.yaml,sha256=E0WmOVH22cKpgyWSiuLxmAMd35x2O--kS8VLW-ONoqU,9370
|
23
|
+
ultralytics/cfg/datasets/SKU-110K.yaml,sha256=EmYFUdlxmF4SnijaifO3dHaP_uf95Vgz4FdckHeEVEM,2558
|
24
|
+
ultralytics/cfg/datasets/VOC.yaml,sha256=xQOx67XQaYCgUjHxp4HjY94zx7ZOphDGlwgzxYfaed0,3800
|
25
|
+
ultralytics/cfg/datasets/VisDrone.yaml,sha256=jONp3ws_RL1Iccnp81ho-zVhLUE63QfcvdUJ395h-GY,3263
|
26
|
+
ultralytics/cfg/datasets/african-wildlife.yaml,sha256=pENEc4cO8A-uAk1dLn1Kul9ofDGcUmeGuQARs13Plhg,930
|
27
|
+
ultralytics/cfg/datasets/brain-tumor.yaml,sha256=wDRZVNZ9Z_p2KRMaFpqrFY00riQ-GGfGYk7N4bDkGFw,856
|
28
|
+
ultralytics/cfg/datasets/carparts-seg.yaml,sha256=5fJKD-bLoio9-LUC09bPrt5qEYbCIQ7i5TAZ1VADeL8,1268
|
29
|
+
ultralytics/cfg/datasets/coco-pose.yaml,sha256=NHdgSsGkHS0-X636p2-hExTJGdoWUSP1TPshH2nVRPk,1636
|
30
|
+
ultralytics/cfg/datasets/coco.yaml,sha256=chdzyIHLfekjOcng-G2_bpC57VUcHPjVvW8ENJfiQao,2619
|
31
|
+
ultralytics/cfg/datasets/coco128-seg.yaml,sha256=ifDPbVuuN7N2_3e8e_YBdTVcANYIOKORQMgXlsPS6D4,1995
|
32
|
+
ultralytics/cfg/datasets/coco128.yaml,sha256=udymG6qzF9Bvh_JYC7BOSXOUeA1Ia8ZmR2EzNGsY6YY,1978
|
33
|
+
ultralytics/cfg/datasets/coco8-multispectral.yaml,sha256=h5Kbx9y3wjWUw6p8jeQVUaIs07VoQS7ZY0vMau5WGAg,2076
|
34
|
+
ultralytics/cfg/datasets/coco8-pose.yaml,sha256=yfw2_SkCZO3ttPLiI0mfjxv5gr4-CA3i0elYP5PY71k,1022
|
35
|
+
ultralytics/cfg/datasets/coco8-seg.yaml,sha256=wpfFI-GfL5asbLtFyaHLE6593jdka7waE07Am3_eg8w,1926
|
36
|
+
ultralytics/cfg/datasets/coco8.yaml,sha256=qJX2TSM7nMV-PpCMXCX4702yp3a-ZF1ubLatlGN5XOE,1901
|
37
|
+
ultralytics/cfg/datasets/crack-seg.yaml,sha256=QEnxOouOKQ3TM6Cl8pBnX5QLPWdChZEBA28jaLkzxA4,852
|
38
|
+
ultralytics/cfg/datasets/dog-pose.yaml,sha256=Cr-J7dPhHmNfW9TKH48L22WPYmJFtWH-lbOAxLHnjKU,907
|
39
|
+
ultralytics/cfg/datasets/dota8-multispectral.yaml,sha256=F_GBGsFyuJwaWItCOn27CBDgCdsVyI9e0IcXKbZc7t0,1229
|
40
|
+
ultralytics/cfg/datasets/dota8.yaml,sha256=W43bp_6yUUVjs6vpogNrGI9vU7rLbEsSx6vyfIkDyj8,1073
|
41
|
+
ultralytics/cfg/datasets/hand-keypoints.yaml,sha256=5vue4kvPrAdd6ZyB90rZgtGUUHvSi3s_ht7jBBqX7a4,989
|
42
|
+
ultralytics/cfg/datasets/lvis.yaml,sha256=jD-z6cny0l_Cl7xN6RqiFAc7a7odcVwr3E8_jmH-wzA,29716
|
43
|
+
ultralytics/cfg/datasets/medical-pills.yaml,sha256=3ho9VW8p5Hm1TuicguiL-akfC9dCZO5nwthO4sUR3k0,848
|
44
|
+
ultralytics/cfg/datasets/open-images-v7.yaml,sha256=uhsujByejzeysTB10QnSLfDNb9U_HqoES45QJrqMC7g,12132
|
45
|
+
ultralytics/cfg/datasets/package-seg.yaml,sha256=uechtCYfX8OrJrO5zV1-uGwbr69lUSuon1oXguEkLGg,864
|
46
|
+
ultralytics/cfg/datasets/signature.yaml,sha256=eABYny9n4w3RleR3RQmb505DiBll8R5cvcjWj8wkuf0,789
|
47
|
+
ultralytics/cfg/datasets/tiger-pose.yaml,sha256=gCQc1AX04Xfhnms4czm7R_XnT2XFL2u-t3M8Yya20ds,925
|
48
|
+
ultralytics/cfg/datasets/xView.yaml,sha256=3PRpBl6q53SUZ09u5efuhaKyeob45EUcxF4nQQqKnUQ,5353
|
49
|
+
ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=1Ycp9qMrwpb8rq7cqht3Q-1gMN0R87U35nm2j_isdro,524
|
50
|
+
ultralytics/cfg/models/11/yolo11-cls.yaml,sha256=17l5GdN-Vst4LvafsK2-q6Li9VX9UlUcT5ClCtikweE,1412
|
51
|
+
ultralytics/cfg/models/11/yolo11-obb.yaml,sha256=3M_c06B-y8da4tunHVxQQ-iFUNLKUfofqCZTpnH5FEU,2034
|
52
|
+
ultralytics/cfg/models/11/yolo11-pose.yaml,sha256=_N6tIwP1e3ci_q873B7cqgzlAtjzf-X5nFZqel5xjeQ,2128
|
53
|
+
ultralytics/cfg/models/11/yolo11-seg.yaml,sha256=dGKO-8TZTYHudPqQIdp11MBztQEvjCh_T1WCFUxEz_s,2045
|
54
|
+
ultralytics/cfg/models/11/yolo11.yaml,sha256=Q9inyGrMdygt30lm1lJuCR5bBkwUDtSm5MC2jsvDeEw,2012
|
55
|
+
ultralytics/cfg/models/11/yoloe-11-seg.yaml,sha256=_JtMoNyGutwE95r9wp6kBqGmveHaCKio4N4IiT8sWLg,1977
|
56
|
+
ultralytics/cfg/models/11/yoloe-11.yaml,sha256=fuZlC69RbsAPwBxMnhTBLCCQOtyh_UlvV0KsCDb1vZ8,1963
|
57
|
+
ultralytics/cfg/models/12/yolo12-cls.yaml,sha256=BLv578ZuU-QKx6GTNWX6lXdutzf_0rGhRrC3HrpxaNM,1405
|
58
|
+
ultralytics/cfg/models/12/yolo12-obb.yaml,sha256=JMviFAOmDbW0aMNzZNqispP0wxWw3mtKn2iUwedf4WM,1975
|
59
|
+
ultralytics/cfg/models/12/yolo12-pose.yaml,sha256=Mr9xjYclLQzxYhMqjIKQTdiTvtqZvEXBtclADFggaMA,2074
|
60
|
+
ultralytics/cfg/models/12/yolo12-seg.yaml,sha256=RBFFz4b95Dupfg0fmqCkZ4i1Zzai_QyJrI6Y2oLsocM,1984
|
61
|
+
ultralytics/cfg/models/12/yolo12.yaml,sha256=ZeA8LuymJXPNjZ5xkxkZHkcktDaKDzUBb2Kc3gCLC1w,1953
|
62
|
+
ultralytics/cfg/models/rt-detr/rtdetr-l.yaml,sha256=_jGu4rotBnmjS29MkSvPx_4dNTWku68ie8-BIvf_p6Q,2041
|
63
|
+
ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml,sha256=BGWp61olKkgD_CzikeVSglWfat3L9hDIK6KDkjwzlxc,1678
|
64
|
+
ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml,sha256=hrRmoL2w-Rchd7obEcSYPeyDNG32QxXftbRH_4vVeZQ,1676
|
65
|
+
ultralytics/cfg/models/rt-detr/rtdetr-x.yaml,sha256=sfO4kVzpGabUX3Z4bHo65zHz55CS_mQD-qATy_a5m1I,2248
|
66
|
+
ultralytics/cfg/models/v10/yolov10b.yaml,sha256=_vTwz4iHW2DeX7yJGq0pD5MI2m8wbhW2VWpRLhBnmRc,1507
|
67
|
+
ultralytics/cfg/models/v10/yolov10l.yaml,sha256=WzVFTALNtfCevuMujsjDzHiTUis5HY3rSnEmQ4i0-dA,1507
|
68
|
+
ultralytics/cfg/models/v10/yolov10m.yaml,sha256=v9-KMN8BeuL_lQS-C3gBuAz-7c9DezqJcxUaEHLKu2M,1498
|
69
|
+
ultralytics/cfg/models/v10/yolov10n.yaml,sha256=D_odGqRblS2I8E23Hchxkjq19RNet_QBAGi1VvD0Dl4,1493
|
70
|
+
ultralytics/cfg/models/v10/yolov10s.yaml,sha256=mFGTHjlSU2nq6jGwEGPDYKm_4nblvCEfQD8DjSjcSTI,1502
|
71
|
+
ultralytics/cfg/models/v10/yolov10x.yaml,sha256=ZwBikqNYs66YiJBLHQ-4VUe-SBrhzksTD2snM9IzL30,1510
|
72
|
+
ultralytics/cfg/models/v3/yolov3-spp.yaml,sha256=hsM-yhdWv-8XlWuaSOVqFJcHUVZ-FmjH4QjkA9CHJZU,1625
|
73
|
+
ultralytics/cfg/models/v3/yolov3-tiny.yaml,sha256=_DtEMJBOTriSaTUA3Aw5LvwgXyc3v_8-uuCpg45cUyQ,1331
|
74
|
+
ultralytics/cfg/models/v3/yolov3.yaml,sha256=Fvt4_PTwLBpRw3R4v4VQ-1PIiojpoFZD1uuTZySUYSw,1612
|
75
|
+
ultralytics/cfg/models/v5/yolov5-p6.yaml,sha256=VKEWykksykSlzvuy7if4yFo9WlblC3hdqcNxJ9bwHek,1994
|
76
|
+
ultralytics/cfg/models/v5/yolov5.yaml,sha256=QD8dRe5e5ys52wXPKvNJn622H_3iX0jPzE_2--2dZx0,1626
|
77
|
+
ultralytics/cfg/models/v6/yolov6.yaml,sha256=NrRxq_E6yXnMZqJcLXrIPZtj8eqAxFxSAz4MDFGcwEg,1813
|
78
|
+
ultralytics/cfg/models/v8/yoloe-v8-seg.yaml,sha256=-Fea6WJBWteUnu6VmyOmZUBwIUgGAq4zhTCr396kpzw,1853
|
79
|
+
ultralytics/cfg/models/v8/yoloe-v8.yaml,sha256=vQY7uAlz8OcyXmoZzLJtuXZyohFaCE4pYua1tB_1ud0,1852
|
80
|
+
ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml,sha256=0JaJos3dYrDryy_KdizfLZcGUawaNtFHjcL2GZJNzmA,994
|
81
|
+
ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml,sha256=DvFH4vwpyqPZkLc_zY4KcCQbfAHj9LUv3nAjKx4ffow,992
|
82
|
+
ultralytics/cfg/models/v8/yolov8-cls.yaml,sha256=G50mnw-C0SWrZpZl5wzov1dugdjZMM6zT30t5cQrcJQ,1019
|
83
|
+
ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml,sha256=0FBVNgXWgEoYmWDroQyj5JcHUi0igpF4B4Z9coqRE1c,2481
|
84
|
+
ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml,sha256=A0_iAowxMans-VFIyGt1XyFAVPZJkMa7E3ubVFBS1Mg,2557
|
85
|
+
ultralytics/cfg/models/v8/yolov8-ghost.yaml,sha256=SXMINIdKaVPM8T3fkG_QjebnVz-V-DbFfzHmX9qwLKg,2180
|
86
|
+
ultralytics/cfg/models/v8/yolov8-obb.yaml,sha256=ksNlmazKXxWgBtwQ5FGy5hKyjlxcb4A1kreL_9mtEZA,2008
|
87
|
+
ultralytics/cfg/models/v8/yolov8-p2.yaml,sha256=8Ql7BeagsE3gyos5D0Q6u-EjIZ_XJ1rSJXKpGG37MF8,1825
|
88
|
+
ultralytics/cfg/models/v8/yolov8-p6.yaml,sha256=TqIsa8gNEW04KmdLxxC9rqhd7PCHlUqkzoiDxnMTio0,2363
|
89
|
+
ultralytics/cfg/models/v8/yolov8-pose-p6.yaml,sha256=wGaxBbf92Hr6E3Wk8vefdZSA3wOocZd4FckSAEZKWNQ,2037
|
90
|
+
ultralytics/cfg/models/v8/yolov8-pose.yaml,sha256=LdzbiIVknZQMLYB2wzCHqul3NilfKp4nx5SdaGQsF6s,1676
|
91
|
+
ultralytics/cfg/models/v8/yolov8-rtdetr.yaml,sha256=EURod-QSBLijM79av4I43OboRFWbLKmFaGVRyIaw2Wo,2034
|
92
|
+
ultralytics/cfg/models/v8/yolov8-seg-p6.yaml,sha256=anEWPI8Ld8zcCDvbHQCx8FMg2PR6sJCjoIK7pctl8Rg,1955
|
93
|
+
ultralytics/cfg/models/v8/yolov8-seg.yaml,sha256=hFeiOFVwTV4zv08IrmTIuzJcUZmYkY7SIi2oV322e6U,1587
|
94
|
+
ultralytics/cfg/models/v8/yolov8-world.yaml,sha256=jWpYoh-F1TiANj46ijQdUPvf0fWcYbnoFH-0Uv4Nzus,2157
|
95
|
+
ultralytics/cfg/models/v8/yolov8-worldv2.yaml,sha256=MCqN2QO4foAcrFrDITGcpJ3fsbSgPrE-c5WOh4FS91w,2103
|
96
|
+
ultralytics/cfg/models/v8/yolov8.yaml,sha256=QFo8MC62CWEDqZr02CwdLYsrv_RpoijFWqyUSywZZyo,1977
|
97
|
+
ultralytics/cfg/models/v9/yolov9c-seg.yaml,sha256=UBHoQ_cJV2yp6rMzHXRp46uBAUmKIrbgd3jiEBPRvqI,1447
|
98
|
+
ultralytics/cfg/models/v9/yolov9c.yaml,sha256=x1kus_2mQdU9V3ZGg0XdE5WTUU3j8fwGe1Ou3x2aX5I,1426
|
99
|
+
ultralytics/cfg/models/v9/yolov9e-seg.yaml,sha256=WVpU5jHgoUuCMVirvmn_ScOmH9d1MyVVIX8XAY8787c,2377
|
100
|
+
ultralytics/cfg/models/v9/yolov9e.yaml,sha256=Olr2PlADpkD6N1TiVyAJEMzkrA7SbNul1nOaUF8CS38,2355
|
101
|
+
ultralytics/cfg/models/v9/yolov9m.yaml,sha256=WcKQ3xRsC1JMgA42Hx4xzr4FZmtE6B3wKvqhlQxkqw8,1411
|
102
|
+
ultralytics/cfg/models/v9/yolov9s.yaml,sha256=j_v3JWaPtiuM8aKJt15Z_4HPRCoHWn_G6Z07t8CZyjk,1391
|
103
|
+
ultralytics/cfg/models/v9/yolov9t.yaml,sha256=Q8GpSXE7fumhuJiQg4a2SkuS_UmnXqp-eoZxW_C0vEo,1375
|
104
|
+
ultralytics/cfg/trackers/botsort.yaml,sha256=TpRaK5kH_-QbjCQ7ekM4s_7j8I8ti3q8Hs7WDz4rEwA,1215
|
105
|
+
ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
|
106
|
+
ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
|
107
|
+
ultralytics/data/annotator.py,sha256=uAgd7K-yudxiwdNqHz0ubfFg5JsfNlae4cgxdvCMyuY,3030
|
108
|
+
ultralytics/data/augment.py,sha256=ekdWksi157TlYh1D27axnEPRqFYonQ11TpJmCv0fbZQ,128933
|
109
|
+
ultralytics/data/base.py,sha256=mRcuehK1thNuuzQGL6D1AaZkod71oHRdYTod_zdQZQg,19688
|
110
|
+
ultralytics/data/build.py,sha256=Djz6stD1FXmFhnoUJp-MKp7geu-k3xhnvt9kfXFKGhI,11020
|
111
|
+
ultralytics/data/converter.py,sha256=oKW8ODtvFOKBx9Un8n87xUUm3b5GStU4ViIBH5UDylM,27200
|
112
|
+
ultralytics/data/dataset.py,sha256=m4nWeYJxrKMxMdwOJ7vJebOPA_fO3z_zQh2sNKstgLw,35422
|
113
|
+
ultralytics/data/loaders.py,sha256=hjkQ3aMU4A884pKNrxxQ5HDYvcwJob84qw_XUZRrav0,31732
|
114
|
+
ultralytics/data/split.py,sha256=qOHZwsHi3I1IKLgLfcz7jH3CTibeJUDyjo7HwNtB_kk,5121
|
115
|
+
ultralytics/data/split_dota.py,sha256=RJHxwOX2Z9CfSX_h7L7mO-aLQ4Ap_ZpZanQdno10oSA,12893
|
116
|
+
ultralytics/data/utils.py,sha256=fJqVJkjaub-xT0cB1o40Hl1WIH1ljKINT0SJaJyZse4,36637
|
117
|
+
ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
|
118
|
+
ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
|
119
|
+
ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
|
120
|
+
ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
|
121
|
+
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
122
|
+
ultralytics/engine/exporter.py,sha256=Ug0HvQSseQA9k4jb_CUGXKPg9w082W1cocwPxxtXgkM,73902
|
123
|
+
ultralytics/engine/model.py,sha256=JFouz4lZ4_1carHYjmpJc3ODNhs4OcEoDV96O8GGz_Y,53129
|
124
|
+
ultralytics/engine/predictor.py,sha256=30fBpuwOuNT3hr8bju4coeOr-jqU_8hDYESugmowLBE,22151
|
125
|
+
ultralytics/engine/results.py,sha256=NJ63EIHUxwip_azu1tykQD_WH7-tr9H4LWbzBlKfWRs,72323
|
126
|
+
ultralytics/engine/trainer.py,sha256=zZ2Lm7VJOlBX-Ya52ec3n3IlSn9_yM5fbsRIWGeGOyo,39556
|
127
|
+
ultralytics/engine/tuner.py,sha256=4ue7JbMFQp7JcWhhwCAY-b-xZsjm5VKVlPFDUTyxt_8,12789
|
128
|
+
ultralytics/engine/validator.py,sha256=MMxH1TMKN32Y8MHaN4XOofQ1RkXNm867oM63eVtOtZA,16970
|
129
|
+
ultralytics/hub/__init__.py,sha256=ulPtceI3hqud03mvqoXccBaa1e4nveYwC9cddyuBUlo,6599
|
130
|
+
ultralytics/hub/auth.py,sha256=5uMPzZt8aO-YsnEWADzc1qBUt9c30RTIfrGo5SWTrv4,6271
|
131
|
+
ultralytics/hub/session.py,sha256=UeUSRbdclSBPJQfpSNGeY13gb1O2Bhzh0Aj7cXum6P4,18518
|
132
|
+
ultralytics/hub/utils.py,sha256=5-y3WBT5U_L0ZscTJrUWvGB02QYwVAF82OiFqvvd0sE,10262
|
133
|
+
ultralytics/hub/google/__init__.py,sha256=ZJnS6s6wVl792p9h5aUmm9K2Di1DrHmTk1aEUJdTXhs,8443
|
134
|
+
ultralytics/models/__init__.py,sha256=DqQFFYJ4IQlqIDb61H1HzcnZU7SuHN-43bw94-l-YAQ,309
|
135
|
+
ultralytics/models/fastsam/__init__.py,sha256=HGJ8EKlBAsdF-e2aIwQLjSDAFI_r0yHR0A1gzrp4vqE,231
|
136
|
+
ultralytics/models/fastsam/model.py,sha256=4Aazwv3tUYLxqyoEwZ2FLiZnOXwLlFEdSfqpltQwxzg,3439
|
137
|
+
ultralytics/models/fastsam/predict.py,sha256=G-o8hs8W5XmqSN5G37zi6q9FglFnZSbD6qH_1KIIXwY,8965
|
138
|
+
ultralytics/models/fastsam/utils.py,sha256=yuCXB4CVjRx8lDf61DP8B6qMx7TVf7AynQvdWREeFco,884
|
139
|
+
ultralytics/models/fastsam/val.py,sha256=hDGCcQl04GA8ldDlRHUN3fri_N2Aev3Vu7-r3BftmvE,2335
|
140
|
+
ultralytics/models/nas/__init__.py,sha256=wybeHZuAXMNeXMjKTbK55FZmXJkA4K9IozDeFM9OB-s,207
|
141
|
+
ultralytics/models/nas/model.py,sha256=519WcZr3Ac9syWIEKJFwvmGdSktpTUsakMX6MSkJBG4,4001
|
142
|
+
ultralytics/models/nas/predict.py,sha256=J4UT7nwi_h63lJ3a_gYac-Ws8wFYingZINxMqSoaX5E,2706
|
143
|
+
ultralytics/models/nas/val.py,sha256=QUTE3zuhJLVqmDGd2n7iSSk7X6jKZCRxufFkBbyxYYo,1548
|
144
|
+
ultralytics/models/rtdetr/__init__.py,sha256=_jEHmOjI_QP_nT3XJXLgYHQ6bXG4EL8Gnvn1y_eev1g,225
|
145
|
+
ultralytics/models/rtdetr/model.py,sha256=e2u6kQEYawRXGGO6HbFDE1uyHfsIqvKk4IpVjjYN41k,2182
|
146
|
+
ultralytics/models/rtdetr/predict.py,sha256=_jk9ZkIW0gNLUHYyRCz_n9UgGnMTtTkFZ3Pzmkbyjgw,4197
|
147
|
+
ultralytics/models/rtdetr/train.py,sha256=6FA3nDEcH1diFQ8Ky0xENp9cOOYATHxU6f42z9npMvs,3766
|
148
|
+
ultralytics/models/rtdetr/val.py,sha256=l8-6FyltxZlkjPDLJNA3Ja5dMcRQvXwoAaN1E3cSZS0,8438
|
149
|
+
ultralytics/models/sam/__init__.py,sha256=iR7B06rAEni21eptg8n4rLOP0Z_qV9y9PL-L93n4_7s,266
|
150
|
+
ultralytics/models/sam/amg.py,sha256=IpcuIfC5KBRiF4sdrsPl1ecWEJy75axo1yG23r5BFsw,11783
|
151
|
+
ultralytics/models/sam/build.py,sha256=J6n-_QOYLa63jldEZmhRe9D3Is_AJE8xyZLUjzfRyTY,12629
|
152
|
+
ultralytics/models/sam/model.py,sha256=E9aTW7UGl3TkkGbVFZ6_FBJWrb3kyJ_vuD6T1YCT0M0,7243
|
153
|
+
ultralytics/models/sam/predict.py,sha256=2dg6L8X_I4RqTHAeH8w3m2ojFczkplx1Wu_ytwzAAgQ,82979
|
154
|
+
ultralytics/models/sam/modules/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
155
|
+
ultralytics/models/sam/modules/blocks.py,sha256=YweiuDzMdBcfzt_cye6zeXx2ASbk03k4TqY-xMg1GwQ,45951
|
156
|
+
ultralytics/models/sam/modules/decoders.py,sha256=-1fhBO47hA-3CzkU-PzkCK4Nsi_VJ_CH6Q9SMjydN4I,25609
|
157
|
+
ultralytics/models/sam/modules/encoders.py,sha256=f1cdGdmQ_3Vt7MKxMVNIgvEvYmVR8lM1uVocNnrrYrU,37392
|
158
|
+
ultralytics/models/sam/modules/memory_attention.py,sha256=UNUbVyF8m6NIdhGOvTAwb_lS6x_Had8Ek3OP5JJqcQU,13539
|
159
|
+
ultralytics/models/sam/modules/sam.py,sha256=LUNmH-1iFPLnl7qzLeLpRqgc82_b8xKNCszDo272rrM,55684
|
160
|
+
ultralytics/models/sam/modules/tiny_encoder.py,sha256=Iwr72WdeM-n1Pd9olluFRxhM3f9IORewPbxyzTEPelc,42241
|
161
|
+
ultralytics/models/sam/modules/transformer.py,sha256=dIcq1UyCRYIhTPeetVpdjRcqR_b_a5AkkYo-L3Cq6hE,14747
|
162
|
+
ultralytics/models/sam/modules/utils.py,sha256=0qxBCh4tTzXNT10-BiKbqH6QDjzhkmLz2OiVG7gQfww,16021
|
163
|
+
ultralytics/models/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
164
|
+
ultralytics/models/utils/loss.py,sha256=E-61TfLPc04IdeL6IlFDityDoPju-ov0ouWV_cNY4Kg,21254
|
165
|
+
ultralytics/models/utils/ops.py,sha256=Pr77n8XW25SUEx4X3bBvXcVIbRdJPoaXJuG0KWWawRQ,15253
|
166
|
+
ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR5b7zDk,307
|
167
|
+
ultralytics/models/yolo/model.py,sha256=C0wInQC6rFuFOGpdAen1s2e5LIFDmqevto8uPbpmB8c,18449
|
168
|
+
ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
|
169
|
+
ultralytics/models/yolo/classify/predict.py,sha256=_GiN6muuZOBrMS1KER85FE4ktcw_Onn1bZdGvpbsGCE,4618
|
170
|
+
ultralytics/models/yolo/classify/train.py,sha256=jXErkxnsC3pBFQBrFxObF8BJyqkckcw3C_qHMSWZrsY,10312
|
171
|
+
ultralytics/models/yolo/classify/val.py,sha256=Oj-ZbEfxyWK7QXvndouLLR3bMwXPKXLB6rA9hAMztsM,9858
|
172
|
+
ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
|
173
|
+
ultralytics/models/yolo/detect/predict.py,sha256=ySUsdIf8dw00bzWhcxN1jZwLWKPRT2M7-N7TNL3o4zo,5387
|
174
|
+
ultralytics/models/yolo/detect/train.py,sha256=qCWz0nvU-pQofa-_F7UhUoLQe-U1ExW0mvE5ZHnav4o,9818
|
175
|
+
ultralytics/models/yolo/detect/val.py,sha256=Gt4St8giPAA-UkIf9THwRowS1yGgvBUgrCURBZ9jvkI,19302
|
176
|
+
ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
|
177
|
+
ultralytics/models/yolo/obb/predict.py,sha256=4r1eSld6TNJlk9JG56e-DX6oPL8uBBqiuztyBpxWlHE,2888
|
178
|
+
ultralytics/models/yolo/obb/train.py,sha256=bnYFAMur7Uvbw5Dc09-S2ge7B05iGX-t37Ksgc0ef6g,3921
|
179
|
+
ultralytics/models/yolo/obb/val.py,sha256=se796OoYtIdlrlnnEoqE266D0_WvMPjZiXwvMU8MwQ4,14090
|
180
|
+
ultralytics/models/yolo/pose/__init__.py,sha256=63xmuHZLNzV8I76HhVXAq4f2W0KTk8Oi9eL-Y204LyQ,227
|
181
|
+
ultralytics/models/yolo/pose/predict.py,sha256=oePbV_IVRt0xPcTiycFAIixiX7bScth0d1uOOtdeErU,3773
|
182
|
+
ultralytics/models/yolo/pose/train.py,sha256=6i1EQx-f112skBBBhCk6JIRKLjCoTEqw2ECJrc53Ku8,6862
|
183
|
+
ultralytics/models/yolo/pose/val.py,sha256=27NZr_Pe4eq2N1-JYe7n33q3AU31XvIOddQQrD4D3cg,19371
|
184
|
+
ultralytics/models/yolo/segment/__init__.py,sha256=3IThhZ1wlkY9FvmWm9cE-5-ZyE6F1FgzAtQ6jOOFzzw,275
|
185
|
+
ultralytics/models/yolo/segment/predict.py,sha256=qlprQCZn4_bpjpI08U0MU9Q9_1gpHrw_7MXwtXE1l1Y,5377
|
186
|
+
ultralytics/models/yolo/segment/train.py,sha256=026mRDOIjJ0ctMQQ2N9hRP6E5oLj2meGKO46u_MzrDk,5523
|
187
|
+
ultralytics/models/yolo/segment/val.py,sha256=t9S5daw9DvRIEDoLL35EsWCoEnCj8_1i6G4Pai1GjgQ,18416
|
188
|
+
ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
|
189
|
+
ultralytics/models/yolo/world/train.py,sha256=94_hgCluzsv39JkBVDmR2gjuycYjeJC8wVrCfrjpENk,7806
|
190
|
+
ultralytics/models/yolo/world/train_world.py,sha256=YJm37ZTgr0CoE_sYrjxN45w9mICr2RMWfWZrriiHqbM,9022
|
191
|
+
ultralytics/models/yolo/yoloe/__init__.py,sha256=6SLytdJtwu37qewf7CobG7C7Wl1m-xtNdvCXEasfPDE,760
|
192
|
+
ultralytics/models/yolo/yoloe/predict.py,sha256=TAcT6fiWbV-jOewu9hx_shGI10VLF_6oSPf7jfatBWo,7041
|
193
|
+
ultralytics/models/yolo/yoloe/train.py,sha256=Dt6orqXcQTzyoAqMVvleP1FQbXChMvEj3QtxIctr3A0,14047
|
194
|
+
ultralytics/models/yolo/yoloe/train_seg.py,sha256=aCV7M8oQOvODFnU4piZdJh3tIrBJYAzZfRVRx1vRgxo,4956
|
195
|
+
ultralytics/models/yolo/yoloe/val.py,sha256=Y0oCiqGvj8LHLrvnfPPUADSj_zNp68BVdpgcER4999E,9736
|
196
|
+
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
197
|
+
ultralytics/nn/autobackend.py,sha256=uTOQyQ4v0_IZvvqAHnDsAxJv3QKe9-L2ozsZWSlZpPU,41287
|
198
|
+
ultralytics/nn/tasks.py,sha256=lpFTLOd5EWII9m9v0QkNQx_73JIl0ge9nquvOMaCu4g,71923
|
199
|
+
ultralytics/nn/text_model.py,sha256=m4jDB5bzOLOS8XNmFi9oQk-skzRHiIpJy4K-_SIARR0,13498
|
200
|
+
ultralytics/nn/modules/__init__.py,sha256=2nY0X69Z5DD5SWt6v3CUTZa5gXSzC9TQr3VTVqhyGho,3158
|
201
|
+
ultralytics/nn/modules/activation.py,sha256=75JcIMH2Cu9GTC2Uf55r_5YLpxcrXQDaVoeGQ0hlUAU,2233
|
202
|
+
ultralytics/nn/modules/block.py,sha256=JfOjWEgUNfwFCt-P2awhga4B7GXeDlkKVhLBp7oA-Es,70652
|
203
|
+
ultralytics/nn/modules/conv.py,sha256=eM_t0hQwvEH4rllJucqRMNq7IoipEjbTa_ELROu4ubs,21445
|
204
|
+
ultralytics/nn/modules/head.py,sha256=zTXFXc46ljPdP3mjgH7B3y2bPIjvbVPtgTu_rQCV8xo,53505
|
205
|
+
ultralytics/nn/modules/transformer.py,sha256=PW5-6gzOP3_rZ_uAkmxvI42nU5bkrgbgLKCy5PC5px4,31415
|
206
|
+
ultralytics/nn/modules/utils.py,sha256=rn8yTObZGkQoqVzjbZWLaHiytppG4ffjMME4Lw60glM,6092
|
207
|
+
ultralytics/solutions/__init__.py,sha256=ZoeAQavTLp8aClnhZ9tbl6lxy86GxofyGvZWTx2aWkI,1209
|
208
|
+
ultralytics/solutions/ai_gym.py,sha256=pOfuRFDt7q_AX4EtbZZKSWFLP63xZDnsRwBz9lCHkC0,5345
|
209
|
+
ultralytics/solutions/analytics.py,sha256=e_uD6lVFdpVrpxSZzAt_zLh5GnoKpSDDZF16uz3nS0U,12252
|
210
|
+
ultralytics/solutions/config.py,sha256=1HZvgWPt7duDxqAaOTyu4-TOBeRJeWx5EQgUwnyyO50,5394
|
211
|
+
ultralytics/solutions/distance_calculation.py,sha256=e2Xa7dVOqiuk43JNakoxQlX48evEgZiEtxdtHTdlAsk,5931
|
212
|
+
ultralytics/solutions/heatmap.py,sha256=FXHVJqdJxhB2yKABaoEQXEJGnmWYNptL5lnZjfHJIJ0,5427
|
213
|
+
ultralytics/solutions/instance_segmentation.py,sha256=9fW9XoSpVHnXAg7q6VziQNq2Wq1SUuPGjxMiBkDUZco,3742
|
214
|
+
ultralytics/solutions/object_blurrer.py,sha256=UVd9EGpyb_fJXFnPg3lbnhWxY1ntHVWmIJ2ragbZ6eY,3942
|
215
|
+
ultralytics/solutions/object_counter.py,sha256=F4naCZOx4YrA6avC6RYJkX61hjz-Ayse7f2p94RBMNY,9749
|
216
|
+
ultralytics/solutions/object_cropper.py,sha256=SVB9fflB7-juZWUARpi-kndSZDVI-oXjHg4WUnOuA9A,3470
|
217
|
+
ultralytics/solutions/parking_management.py,sha256=IHWK48DZa6PwaOKUu3XTJAZCxF6WtTlCno7N8W6VR4k,13481
|
218
|
+
ultralytics/solutions/queue_management.py,sha256=_K6ugLMDfpp37S-LFV36K3QXf3vqjfxji8BPP_-6iqc,4337
|
219
|
+
ultralytics/solutions/region_counter.py,sha256=8vNrr0SnEBJ7ngD_whWpD7jMlrzuYGWxUuZx3WOv0ys,5739
|
220
|
+
ultralytics/solutions/security_alarm.py,sha256=HXoPFlTOVp5eUecPuGIl_DXLKuN8-M32BCvCOd_vRac,6279
|
221
|
+
ultralytics/solutions/similarity_search.py,sha256=GdrPEpfBwLpM5Mx4XQiTrahgdQgiSIeGdHWWTLQl5xU,9926
|
222
|
+
ultralytics/solutions/solutions.py,sha256=0KIjRelx283v5XdKd9ucjDpU654xRSpSo5KY6X52y9w,37317
|
223
|
+
ultralytics/solutions/speed_estimation.py,sha256=_4tIfWPI7O_hYRQAvNrALMzdy2sBR5_0BxnPdJb0Gks,5823
|
224
|
+
ultralytics/solutions/streamlit_inference.py,sha256=menjJLsuP7AsQJSnBo7gRHfMlYE8HzMp0YNGqCU64n0,9986
|
225
|
+
ultralytics/solutions/trackzone.py,sha256=LRCG5HhcZb9PiYWbkUPeWuIOnNskPE4FEDY6a3Y4ctA,3850
|
226
|
+
ultralytics/solutions/vision_eye.py,sha256=LCb-2YPVvEks9e7xqZtNGftpAXNaZhEUb5yb3N0ni_U,2952
|
227
|
+
ultralytics/solutions/templates/similarity-search.html,sha256=DPoAO-1H-KXNt_T8mGtSCsYUEi_5Nrx01p0cZfX-E8Q,3790
|
228
|
+
ultralytics/trackers/__init__.py,sha256=Zlu_Ig5osn7hqch_g5Be_e4pwZUkeeTQiesJCi0pFGI,255
|
229
|
+
ultralytics/trackers/basetrack.py,sha256=-skBFFatzgJFAPN9Frm1u1h_RDUg3WOlxG6eHQxp2Gw,4384
|
230
|
+
ultralytics/trackers/bot_sort.py,sha256=Nkf4LVaCr7qaTQUOBwv9XEmKz8xenkGMuuKFD9mJQBE,12096
|
231
|
+
ultralytics/trackers/byte_tracker.py,sha256=CNS10VOGPtXXEimi0TaO88TAIcOBgo8ALF9H79iK_uQ,21633
|
232
|
+
ultralytics/trackers/track.py,sha256=EmYi42ujLP3_CKuS6CmO_9dw8Ekg7-0WWJQeYfQucv0,4804
|
233
|
+
ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
234
|
+
ultralytics/trackers/utils/gmc.py,sha256=9IvCf5MhBYY9ppVHykN02_oBWHmE98R8EaYFKaykdV0,14032
|
235
|
+
ultralytics/trackers/utils/kalman_filter.py,sha256=PPmM0lwBMdT_hGojvfLoUsBUFMBBMNRAxKbMcQa3wJ0,21619
|
236
|
+
ultralytics/trackers/utils/matching.py,sha256=uSYtywqi1lE_uNN1FwuBFPyISfDQXHMu8K5KH69nrRI,7160
|
237
|
+
ultralytics/utils/__init__.py,sha256=Z2-2V5jKe4psJ1IH8FwPK2U-2f40m4iKa3YJN7kBqx8,59563
|
238
|
+
ultralytics/utils/autobatch.py,sha256=33m8YgggLIhltDqMXZ5OE-FGs2QiHrl2-LfgY1mI4cw,5119
|
239
|
+
ultralytics/utils/autodevice.py,sha256=AvgXFt8c1Cg4icKh0Hbhhz8UmVQ2Wjyfdfkeb2C8zck,8855
|
240
|
+
ultralytics/utils/benchmarks.py,sha256=QlfYzkGFhy_eP0DRCscdcpN-2TwvQFcM7zfR1Mc9WK4,30795
|
241
|
+
ultralytics/utils/checks.py,sha256=qykHykHYl5ceWX3EYW06qRpIQw1HB2JgIvbFBFrXWns,33762
|
242
|
+
ultralytics/utils/dist.py,sha256=A9lDGtGefTjSVvVS38w86GOdbtLzNBDZuDGK0MT4PRI,4170
|
243
|
+
ultralytics/utils/downloads.py,sha256=aKbQJVJqRFSpLXPWW8bZXNmAA19naa-SMGH8hiSA_38,22048
|
244
|
+
ultralytics/utils/errors.py,sha256=XT9Ru7ivoBgofK6PlnyigGoa7Fmf5nEhyHtnD-8TRXI,1584
|
245
|
+
ultralytics/utils/export.py,sha256=ZmxiY5Y2MuL4iBFsLr8ykbUsnvT01DCs0Kg1w3_Ikac,9789
|
246
|
+
ultralytics/utils/files.py,sha256=ZCbLGleiF0f-PqYfaxMFAWop88w7U1hpreHXl8b2ko0,8238
|
247
|
+
ultralytics/utils/instance.py,sha256=vhqaZRGT_4K9Q3oQH5KNNK4ISOzxlf1_JjauwhuFhu0,18408
|
248
|
+
ultralytics/utils/loss.py,sha256=fbOWc3Iu0QOJiWbi-mXWA9-1otTYlehtmUsI7os7ydM,39799
|
249
|
+
ultralytics/utils/metrics.py,sha256=xSrBkLC5aJznAsWpTnFHTgSIXxWLQL949OaKTq9hMxQ,61952
|
250
|
+
ultralytics/utils/ops.py,sha256=Yjm397sirPt9wNlgHU2SeVEApeEeYX1msSg5cTBGN8g,34381
|
251
|
+
ultralytics/utils/patches.py,sha256=GI7NXCJ5H22FGp3sIvj5rrGfwdYNRWlxFcW-Jhjgius,5181
|
252
|
+
ultralytics/utils/plotting.py,sha256=Njai4h7a1KEOqtOfWQ5gxdWi923rHaegkhj28tAhFmM,48108
|
253
|
+
ultralytics/utils/tal.py,sha256=aXawOnhn8ni65tJWIW-PYqWr_TRvltbHBjrTo7o6lDQ,20924
|
254
|
+
ultralytics/utils/torch_utils.py,sha256=JDqCT6JAQOqV4riWPJHhblWas71-UZQBj-u0BFEwkjQ,39153
|
255
|
+
ultralytics/utils/triton.py,sha256=M7qe4RztiADBJQEWQKaIQsp94ERFJ_8_DUHDR6TXEOM,5410
|
256
|
+
ultralytics/utils/tuner.py,sha256=bHr09Fz-0-t0ei55gX5wJh-obyiAQoicP7HUVM2I8qA,6826
|
257
|
+
ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
|
258
|
+
ultralytics/utils/callbacks/base.py,sha256=OJ6z4AYVCtXO-w6PSDRiwo1Tc2RYes-BzwKTsr9g_h0,6821
|
259
|
+
ultralytics/utils/callbacks/clearml.py,sha256=2_Iv-aJFD6oAlq2N3hOf1OhCQ7aAMpa5tBkSs1ZkruQ,6031
|
260
|
+
ultralytics/utils/callbacks/comet.py,sha256=hGfSuqE1C7mcM_vr-ySKFm8l-TQeEy7IyRq1NAx0_tI,23962
|
261
|
+
ultralytics/utils/callbacks/dvc.py,sha256=NV0DXMQ1B5Sk5fmh60QFUGkifrAz-vwit5qhdfsyqXc,7511
|
262
|
+
ultralytics/utils/callbacks/hub.py,sha256=1RmGiCaog1GoTya9OAyGELbQ2Lk5X3EWh7RYMxns0so,4177
|
263
|
+
ultralytics/utils/callbacks/mlflow.py,sha256=6K8I5zij1yq3TUW9c5BBQNqdzz3IXugQjwKoBOvV6ag,5344
|
264
|
+
ultralytics/utils/callbacks/neptune.py,sha256=j8pecmlcsM8FGzLKWoBw5xUsi5t8E5HuxY7TR5Um_O8,4612
|
265
|
+
ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
|
266
|
+
ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
|
267
|
+
ultralytics/utils/callbacks/wb.py,sha256=Tm_-aRr2CN32MJkY9tylpMBJkb007-MSRNSQ7rDJ5QU,7521
|
268
|
+
dgenerate_ultralytics_headless-8.3.144.dist-info/METADATA,sha256=pjfVH2kxPAOCVzy-QREsKjWhDgQczOJFFRisrYolbpw,38296
|
269
|
+
dgenerate_ultralytics_headless-8.3.144.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
270
|
+
dgenerate_ultralytics_headless-8.3.144.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
271
|
+
dgenerate_ultralytics_headless-8.3.144.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
272
|
+
dgenerate_ultralytics_headless-8.3.144.dist-info/RECORD,,
|
tests/conftest.py
CHANGED
@@ -7,15 +7,7 @@ from tests import TMP
|
|
7
7
|
|
8
8
|
|
9
9
|
def pytest_addoption(parser):
|
10
|
-
"""
|
11
|
-
Add custom command-line options to pytest.
|
12
|
-
|
13
|
-
Args:
|
14
|
-
parser (pytest.config.Parser): The pytest parser object for adding custom command-line options.
|
15
|
-
|
16
|
-
Returns:
|
17
|
-
(None)
|
18
|
-
"""
|
10
|
+
"""Add custom command-line options to pytest."""
|
19
11
|
parser.addoption("--slow", action="store_true", default=False, help="Run slow tests")
|
20
12
|
|
21
13
|
|
@@ -24,11 +16,8 @@ def pytest_collection_modifyitems(config, items):
|
|
24
16
|
Modify the list of test items to exclude tests marked as slow if the --slow option is not specified.
|
25
17
|
|
26
18
|
Args:
|
27
|
-
config
|
19
|
+
config: The pytest configuration object that provides access to command-line options.
|
28
20
|
items (list): The list of collected pytest item objects to be modified based on the presence of --slow option.
|
29
|
-
|
30
|
-
Returns:
|
31
|
-
(None): The function modifies the 'items' list in place.
|
32
21
|
"""
|
33
22
|
if not config.getoption("--slow"):
|
34
23
|
# Remove the item entirely from the list of test items if it's marked as 'slow'
|
@@ -43,16 +32,13 @@ def pytest_sessionstart(session):
|
|
43
32
|
test collection. It sets the initial seeds and prepares the temporary directory for the test session.
|
44
33
|
|
45
34
|
Args:
|
46
|
-
session
|
47
|
-
|
48
|
-
Returns:
|
49
|
-
(None)
|
35
|
+
session: The pytest session object.
|
50
36
|
"""
|
51
37
|
from ultralytics.utils.torch_utils import init_seeds
|
52
38
|
|
53
39
|
init_seeds()
|
54
|
-
shutil.rmtree(TMP, ignore_errors=True) #
|
55
|
-
TMP.mkdir(parents=True, exist_ok=True) #
|
40
|
+
shutil.rmtree(TMP, ignore_errors=True) # Delete any existing tests/tmp directory
|
41
|
+
TMP.mkdir(parents=True, exist_ok=True) # Create a new empty directory
|
56
42
|
|
57
43
|
|
58
44
|
def pytest_terminal_summary(terminalreporter, exitstatus, config):
|
@@ -63,12 +49,9 @@ def pytest_terminal_summary(terminalreporter, exitstatus, config):
|
|
63
49
|
and directories used during testing.
|
64
50
|
|
65
51
|
Args:
|
66
|
-
terminalreporter
|
52
|
+
terminalreporter: The terminal reporter object used for terminal output.
|
67
53
|
exitstatus (int): The exit status of the test run.
|
68
|
-
config
|
69
|
-
|
70
|
-
Returns:
|
71
|
-
(None)
|
54
|
+
config: The pytest config object.
|
72
55
|
"""
|
73
56
|
from ultralytics.utils import WEIGHTS_DIR
|
74
57
|
|
tests/test_cli.py
CHANGED
@@ -55,7 +55,7 @@ def test_export(model: str) -> None:
|
|
55
55
|
|
56
56
|
def test_rtdetr(task: str = "detect", model: str = "yolov8n-rtdetr.yaml", data: str = "coco8.yaml") -> None:
|
57
57
|
"""Test the RTDETR functionality within Ultralytics for detection tasks using specified model and data."""
|
58
|
-
# Warning: must use imgsz=640 (note also add
|
58
|
+
# Warning: must use imgsz=640 (note also add comma, spaces, fraction=0.25 args to test single-image training)
|
59
59
|
run(f"yolo train {task} model={model} data={data} --imgsz= 160 epochs =1, cache = disk fraction=0.25") # spaces
|
60
60
|
run(f"yolo predict {task} model={model} source={ASSETS / 'bus.jpg'} imgsz=160 save save_crop save_txt")
|
61
61
|
if TORCH_1_9:
|
tests/test_cuda.py
CHANGED
@@ -22,7 +22,10 @@ if CUDA_IS_AVAILABLE:
|
|
22
22
|
else:
|
23
23
|
gpu_info = GPUInfo()
|
24
24
|
gpu_info.print_status()
|
25
|
-
|
25
|
+
autodevice_fraction = __import__("os").environ.get("YOLO_AUTODEVICE_FRACTION_FREE", 0.3)
|
26
|
+
idle_gpus = gpu_info.select_idle_gpu(
|
27
|
+
count=2, min_memory_fraction=autodevice_fraction, min_util_fraction=autodevice_fraction
|
28
|
+
)
|
26
29
|
if idle_gpus:
|
27
30
|
DEVICES = idle_gpus
|
28
31
|
|
@@ -114,7 +117,9 @@ def test_train():
|
|
114
117
|
if not IS_JETSON:
|
115
118
|
visible = eval(os.environ["CUDA_VISIBLE_DEVICES"])
|
116
119
|
assert visible == device, f"Passed GPUs '{device}', but used GPUs '{visible}'"
|
117
|
-
assert
|
120
|
+
assert (
|
121
|
+
(results is None) if len(DEVICES) > 1 else (results is not None)
|
122
|
+
) # DDP returns None, single-GPU returns metrics
|
118
123
|
|
119
124
|
|
120
125
|
@pytest.mark.slow
|
tests/test_engine.py
CHANGED
@@ -17,7 +17,7 @@ def test_func(*args): # noqa
|
|
17
17
|
|
18
18
|
|
19
19
|
def test_export():
|
20
|
-
"""
|
20
|
+
"""Test model exporting functionality by adding a callback and verifying its execution."""
|
21
21
|
exporter = Exporter()
|
22
22
|
exporter.add_callback("on_export_start", test_func)
|
23
23
|
assert test_func in exporter.callbacks["on_export_start"], "callback test failed"
|
@@ -48,11 +48,12 @@ def test_detect():
|
|
48
48
|
pred = detect.DetectionPredictor(overrides={"imgsz": [64, 64]})
|
49
49
|
pred.add_callback("on_predict_start", test_func)
|
50
50
|
assert test_func in pred.callbacks["on_predict_start"], "callback test failed"
|
51
|
-
# Confirm there is no issue with sys.argv being empty
|
51
|
+
# Confirm there is no issue with sys.argv being empty
|
52
52
|
with mock.patch.object(sys, "argv", []):
|
53
53
|
result = pred(source=ASSETS, model=MODEL)
|
54
54
|
assert len(result), "predictor test failed"
|
55
55
|
|
56
|
+
# Test resume functionality
|
56
57
|
overrides["resume"] = trainer.last
|
57
58
|
trainer = detect.DetectionTrainer(overrides=overrides)
|
58
59
|
try:
|
@@ -61,16 +62,15 @@ def test_detect():
|
|
61
62
|
print(f"Expected exception caught: {e}")
|
62
63
|
return
|
63
64
|
|
64
|
-
Exception("Resume test failed!")
|
65
|
+
raise Exception("Resume test failed!")
|
65
66
|
|
66
67
|
|
67
68
|
def test_segment():
|
68
|
-
"""
|
69
|
+
"""Test image segmentation training, validation, and prediction pipelines using YOLO models."""
|
69
70
|
overrides = {"data": "coco8-seg.yaml", "model": "yolo11n-seg.yaml", "imgsz": 32, "epochs": 1, "save": False}
|
70
71
|
cfg = get_cfg(DEFAULT_CFG)
|
71
72
|
cfg.data = "coco8-seg.yaml"
|
72
73
|
cfg.imgsz = 32
|
73
|
-
# YOLO(CFG_SEG).train(**overrides) # works
|
74
74
|
|
75
75
|
# Trainer
|
76
76
|
trainer = segment.SegmentationTrainer(overrides=overrides)
|
@@ -91,7 +91,7 @@ def test_segment():
|
|
91
91
|
result = pred(source=ASSETS, model=WEIGHTS_DIR / "yolo11n-seg.pt")
|
92
92
|
assert len(result), "predictor test failed"
|
93
93
|
|
94
|
-
# Test resume
|
94
|
+
# Test resume functionality
|
95
95
|
overrides["resume"] = trainer.last
|
96
96
|
trainer = segment.SegmentationTrainer(overrides=overrides)
|
97
97
|
try:
|
@@ -100,7 +100,7 @@ def test_segment():
|
|
100
100
|
print(f"Expected exception caught: {e}")
|
101
101
|
return
|
102
102
|
|
103
|
-
Exception("Resume test failed!")
|
103
|
+
raise Exception("Resume test failed!")
|
104
104
|
|
105
105
|
|
106
106
|
def test_classify():
|
@@ -109,7 +109,6 @@ def test_classify():
|
|
109
109
|
cfg = get_cfg(DEFAULT_CFG)
|
110
110
|
cfg.data = "imagenet10"
|
111
111
|
cfg.imgsz = 32
|
112
|
-
# YOLO(CFG_SEG).train(**overrides) # works
|
113
112
|
|
114
113
|
# Trainer
|
115
114
|
trainer = classify.ClassificationTrainer(overrides=overrides)
|
tests/test_exports.py
CHANGED
@@ -24,7 +24,7 @@ from ultralytics.utils.torch_utils import TORCH_1_9, TORCH_1_13
|
|
24
24
|
|
25
25
|
|
26
26
|
def test_export_torchscript():
|
27
|
-
"""Test YOLO model
|
27
|
+
"""Test YOLO model export to TorchScript format for compatibility and correctness."""
|
28
28
|
file = YOLO(MODEL).export(format="torchscript", optimize=False, imgsz=32)
|
29
29
|
YOLO(file)(SOURCE, imgsz=32) # exported model inference
|
30
30
|
|
@@ -37,7 +37,7 @@ def test_export_onnx():
|
|
37
37
|
|
38
38
|
@pytest.mark.skipif(not TORCH_1_13, reason="OpenVINO requires torch>=1.13")
|
39
39
|
def test_export_openvino():
|
40
|
-
"""Test YOLO
|
40
|
+
"""Test YOLO export to OpenVINO format for model inference compatibility."""
|
41
41
|
file = YOLO(MODEL).export(format="openvino", imgsz=32)
|
42
42
|
YOLO(file)(SOURCE, imgsz=32) # exported model inference
|
43
43
|
|
@@ -55,7 +55,7 @@ def test_export_openvino():
|
|
55
55
|
],
|
56
56
|
)
|
57
57
|
def test_export_openvino_matrix(task, dynamic, int8, half, batch, nms):
|
58
|
-
"""Test YOLO model
|
58
|
+
"""Test YOLO model export to OpenVINO under various configuration matrix conditions."""
|
59
59
|
file = YOLO(TASK2MODEL[task]).export(
|
60
60
|
format="openvino",
|
61
61
|
imgsz=32,
|
@@ -87,7 +87,7 @@ def test_export_openvino_matrix(task, dynamic, int8, half, batch, nms):
|
|
87
87
|
],
|
88
88
|
)
|
89
89
|
def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
|
90
|
-
"""Test YOLO
|
90
|
+
"""Test YOLO export to ONNX format with various configurations and parameters."""
|
91
91
|
file = YOLO(TASK2MODEL[task]).export(
|
92
92
|
format="onnx", imgsz=32, dynamic=dynamic, int8=int8, half=half, batch=batch, simplify=simplify, nms=nms
|
93
93
|
)
|
@@ -105,7 +105,7 @@ def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
|
|
105
105
|
],
|
106
106
|
)
|
107
107
|
def test_export_torchscript_matrix(task, dynamic, int8, half, batch, nms):
|
108
|
-
"""
|
108
|
+
"""Test YOLO model export to TorchScript format under varied configurations."""
|
109
109
|
file = YOLO(TASK2MODEL[task]).export(
|
110
110
|
format="torchscript", imgsz=32, dynamic=dynamic, int8=int8, half=half, batch=batch, nms=nms
|
111
111
|
)
|
@@ -126,7 +126,7 @@ def test_export_torchscript_matrix(task, dynamic, int8, half, batch, nms):
|
|
126
126
|
],
|
127
127
|
)
|
128
128
|
def test_export_coreml_matrix(task, dynamic, int8, half, batch):
|
129
|
-
"""Test YOLO
|
129
|
+
"""Test YOLO export to CoreML format with various parameter configurations."""
|
130
130
|
file = YOLO(TASK2MODEL[task]).export(
|
131
131
|
format="coreml",
|
132
132
|
imgsz=32,
|
@@ -135,7 +135,7 @@ def test_export_coreml_matrix(task, dynamic, int8, half, batch):
|
|
135
135
|
half=half,
|
136
136
|
batch=batch,
|
137
137
|
)
|
138
|
-
YOLO(file)([SOURCE] * batch, imgsz=32) # exported model inference
|
138
|
+
YOLO(file)([SOURCE] * batch, imgsz=32) # exported model inference
|
139
139
|
shutil.rmtree(file) # cleanup
|
140
140
|
|
141
141
|
|
@@ -156,11 +156,11 @@ def test_export_coreml_matrix(task, dynamic, int8, half, batch):
|
|
156
156
|
],
|
157
157
|
)
|
158
158
|
def test_export_tflite_matrix(task, dynamic, int8, half, batch, nms):
|
159
|
-
"""Test YOLO
|
159
|
+
"""Test YOLO export to TFLite format considering various export configurations."""
|
160
160
|
file = YOLO(TASK2MODEL[task]).export(
|
161
161
|
format="tflite", imgsz=32, dynamic=dynamic, int8=int8, half=half, batch=batch, nms=nms
|
162
162
|
)
|
163
|
-
YOLO(file)([SOURCE] * batch, imgsz=32) # exported model inference
|
163
|
+
YOLO(file)([SOURCE] * batch, imgsz=32) # exported model inference
|
164
164
|
Path(file).unlink() # cleanup
|
165
165
|
|
166
166
|
|
@@ -169,7 +169,7 @@ def test_export_tflite_matrix(task, dynamic, int8, half, batch, nms):
|
|
169
169
|
@pytest.mark.skipif(LINUX and ARM64, reason="CoreML not supported on aarch64 Linux")
|
170
170
|
@pytest.mark.skipif(checks.IS_PYTHON_3_13, reason="CoreML not supported in Python 3.13")
|
171
171
|
def test_export_coreml():
|
172
|
-
"""Test YOLO
|
172
|
+
"""Test YOLO export to CoreML format and check for errors."""
|
173
173
|
# Capture stdout and stderr
|
174
174
|
stdout, stderr = io.StringIO(), io.StringIO()
|
175
175
|
with redirect_stdout(stdout), redirect_stderr(stderr):
|
@@ -187,7 +187,7 @@ def test_export_coreml():
|
|
187
187
|
@pytest.mark.skipif(not checks.IS_PYTHON_MINIMUM_3_10, reason="TFLite export requires Python>=3.10")
|
188
188
|
@pytest.mark.skipif(not LINUX, reason="Test disabled as TF suffers from install conflicts on Windows and macOS")
|
189
189
|
def test_export_tflite():
|
190
|
-
"""Test YOLO
|
190
|
+
"""Test YOLO export to TFLite format under specific OS and Python version conditions."""
|
191
191
|
model = YOLO(MODEL)
|
192
192
|
file = model.export(format="tflite", imgsz=32)
|
193
193
|
YOLO(file)(SOURCE, imgsz=32)
|
@@ -196,7 +196,7 @@ def test_export_tflite():
|
|
196
196
|
@pytest.mark.skipif(True, reason="Test disabled")
|
197
197
|
@pytest.mark.skipif(not LINUX, reason="TF suffers from install conflicts on Windows and macOS")
|
198
198
|
def test_export_pb():
|
199
|
-
"""Test YOLO
|
199
|
+
"""Test YOLO export to TensorFlow's Protobuf (*.pb) format."""
|
200
200
|
model = YOLO(MODEL)
|
201
201
|
file = model.export(format="pb", imgsz=32)
|
202
202
|
YOLO(file)(SOURCE, imgsz=32)
|
@@ -204,20 +204,20 @@ def test_export_pb():
|
|
204
204
|
|
205
205
|
@pytest.mark.skipif(True, reason="Test disabled as Paddle protobuf and ONNX protobuf requirements conflict.")
|
206
206
|
def test_export_paddle():
|
207
|
-
"""Test YOLO
|
207
|
+
"""Test YOLO export to Paddle format, noting protobuf conflicts with ONNX."""
|
208
208
|
YOLO(MODEL).export(format="paddle", imgsz=32)
|
209
209
|
|
210
210
|
|
211
211
|
@pytest.mark.slow
|
212
212
|
def test_export_mnn():
|
213
|
-
"""Test YOLO
|
213
|
+
"""Test YOLO export to MNN format (WARNING: MNN test must precede NCNN test or CI error on Windows)."""
|
214
214
|
file = YOLO(MODEL).export(format="mnn", imgsz=32)
|
215
215
|
YOLO(file)(SOURCE, imgsz=32) # exported model inference
|
216
216
|
|
217
217
|
|
218
218
|
@pytest.mark.slow
|
219
219
|
def test_export_ncnn():
|
220
|
-
"""Test YOLO
|
220
|
+
"""Test YOLO export to NCNN format."""
|
221
221
|
file = YOLO(MODEL).export(format="ncnn", imgsz=32)
|
222
222
|
YOLO(file)(SOURCE, imgsz=32) # exported model inference
|
223
223
|
|
@@ -225,7 +225,7 @@ def test_export_ncnn():
|
|
225
225
|
@pytest.mark.skipif(True, reason="Test disabled as keras and tensorflow version conflicts with TFlite export.")
|
226
226
|
@pytest.mark.skipif(not LINUX or MACOS, reason="Skipping test on Windows and Macos")
|
227
227
|
def test_export_imx():
|
228
|
-
"""Test YOLO
|
228
|
+
"""Test YOLO export to IMX format."""
|
229
229
|
model = YOLO("yolov8n.pt")
|
230
230
|
file = model.export(format="imx", imgsz=32)
|
231
231
|
YOLO(file)(SOURCE, imgsz=32)
|
tests/test_integrations.py
CHANGED
@@ -32,7 +32,7 @@ def test_model_ray_tune():
|
|
32
32
|
|
33
33
|
@pytest.mark.skipif(not check_requirements("mlflow", install=False), reason="mlflow not installed")
|
34
34
|
def test_mlflow():
|
35
|
-
"""Test training with MLflow tracking enabled
|
35
|
+
"""Test training with MLflow tracking enabled."""
|
36
36
|
SETTINGS["mlflow"] = True
|
37
37
|
YOLO("yolo11n-cls.yaml").train(data="imagenet10", imgsz=32, epochs=3, plots=False, device="cpu")
|
38
38
|
SETTINGS["mlflow"] = False
|