dgenerate-ultralytics-headless 8.3.191__py3-none-any.whl → 8.3.193__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 (34) hide show
  1. {dgenerate_ultralytics_headless-8.3.191.dist-info → dgenerate_ultralytics_headless-8.3.193.dist-info}/METADATA +1 -1
  2. {dgenerate_ultralytics_headless-8.3.191.dist-info → dgenerate_ultralytics_headless-8.3.193.dist-info}/RECORD +34 -34
  3. ultralytics/__init__.py +1 -1
  4. ultralytics/cfg/__init__.py +7 -5
  5. ultralytics/cfg/datasets/SKU-110K.yaml +1 -1
  6. ultralytics/cfg/datasets/xView.yaml +1 -1
  7. ultralytics/data/utils.py +1 -1
  8. ultralytics/engine/exporter.py +5 -4
  9. ultralytics/engine/model.py +4 -4
  10. ultralytics/engine/predictor.py +7 -3
  11. ultralytics/engine/trainer.py +5 -5
  12. ultralytics/engine/tuner.py +227 -40
  13. ultralytics/models/yolo/classify/train.py +2 -2
  14. ultralytics/models/yolo/classify/val.py +1 -1
  15. ultralytics/models/yolo/detect/val.py +1 -1
  16. ultralytics/models/yolo/pose/val.py +1 -1
  17. ultralytics/models/yolo/segment/val.py +14 -14
  18. ultralytics/models/yolo/world/train.py +1 -1
  19. ultralytics/models/yolo/yoloe/train.py +3 -4
  20. ultralytics/models/yolo/yoloe/val.py +3 -3
  21. ultralytics/nn/__init__.py +2 -4
  22. ultralytics/nn/autobackend.py +2 -2
  23. ultralytics/nn/tasks.py +2 -51
  24. ultralytics/utils/__init__.py +5 -1
  25. ultralytics/utils/checks.py +2 -1
  26. ultralytics/utils/plotting.py +2 -2
  27. ultralytics/utils/tal.py +2 -2
  28. ultralytics/utils/torch_utils.py +7 -6
  29. ultralytics/utils/tqdm.py +50 -74
  30. ultralytics/utils/tuner.py +1 -1
  31. {dgenerate_ultralytics_headless-8.3.191.dist-info → dgenerate_ultralytics_headless-8.3.193.dist-info}/WHEEL +0 -0
  32. {dgenerate_ultralytics_headless-8.3.191.dist-info → dgenerate_ultralytics_headless-8.3.193.dist-info}/entry_points.txt +0 -0
  33. {dgenerate_ultralytics_headless-8.3.191.dist-info → dgenerate_ultralytics_headless-8.3.193.dist-info}/licenses/LICENSE +0 -0
  34. {dgenerate_ultralytics_headless-8.3.191.dist-info → dgenerate_ultralytics_headless-8.3.193.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.191
3
+ Version: 8.3.193
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>
@@ -1,4 +1,4 @@
1
- dgenerate_ultralytics_headless-8.3.191.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
1
+ dgenerate_ultralytics_headless-8.3.193.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
4
  tests/test_cli.py,sha256=EMf5gTAopOnIz8VvzaM-Qb044o7D0flnUHYQ-2ffOM4,5670
@@ -8,11 +8,11 @@ tests/test_exports.py,sha256=jBMAWADCqBsPaZuhZKU7JgQVA0gfYHHFwOI6kx84bqo,10885
8
8
  tests/test_integrations.py,sha256=kl_AKmE_Qs1GB0_91iVwbzNxofm_hFTt0zzU6JF-pg4,6323
9
9
  tests/test_python.py,sha256=IpjqS2wKSfZaukSdW7QtXeyijXxZ1uXiJLEdlkK_0jQ,27908
10
10
  tests/test_solutions.py,sha256=6wJ9-lhyWSAm7zaR4D9L_DrUA3iJU1NgqmbQO6PIuvo,13211
11
- ultralytics/__init__.py,sha256=9XqSrgB_pQx47nZN8IEDHMj3Mmf_Ot9YRmDk9MoAq3Q,730
11
+ ultralytics/__init__.py,sha256=xBsGMQjlH8FxjOGSLqnh06Xs9hcGM2u-QrR-OLhkHJk,730
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
15
- ultralytics/cfg/__init__.py,sha256=B6lVzv3ISXgZFgKv8cB1YumCvhFUDVr7RNXbHGF3V9Q,39867
15
+ ultralytics/cfg/__init__.py,sha256=oi3unUYklhdf-uF_0v9dSBOj5EyPRKQbgVVKHrztKns,39955
16
16
  ultralytics/cfg/default.yaml,sha256=1SspGAK_K_DT7DBfEScJh4jsJUTOxahehZYj92xmj7o,8347
17
17
  ultralytics/cfg/datasets/Argoverse.yaml,sha256=J4ItoUlE_EiYTmp1DFKYHfbqHkj8j4wUtRJQhaMIlBM,3275
18
18
  ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=VZ_KKFX0H2YvlFVJ8JHcLWYBZ2xiQ6Z-ROSTiKWpS7c,1211
@@ -21,7 +21,7 @@ ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=dnr_loeYSE6Eo_f7V1yubILsMRB
21
21
  ultralytics/cfg/datasets/HomeObjects-3K.yaml,sha256=xEtSqEad-rtfGuIrERjjhdISggmPlvaX-315ZzKz50I,934
22
22
  ultralytics/cfg/datasets/ImageNet.yaml,sha256=GvDWypLVG_H3H67Ai8IC1pvK6fwcTtF5FRhzO1OXXDU,42530
23
23
  ultralytics/cfg/datasets/Objects365.yaml,sha256=eMQuA8B4ZGp_GsmMNKFP4CziMSVduyuAK1IANkAZaJw,9367
24
- ultralytics/cfg/datasets/SKU-110K.yaml,sha256=PvO0GsM09Bqm9HEWvVA7--bOqJKl31KtT5wZ8LhAMuY,2559
24
+ ultralytics/cfg/datasets/SKU-110K.yaml,sha256=NwjmBQMdN4YLt3i9jcVe_4QinivCdGlk6edwgNsun2M,2585
25
25
  ultralytics/cfg/datasets/VOC.yaml,sha256=NhVLvsmLOwMIteW4DPKxetURP5bTaJvYc7w08-HYAUs,3785
26
26
  ultralytics/cfg/datasets/VisDrone.yaml,sha256=vIEBrCJLrKg8zYu5imnA5XQKrXwOpVKyaLvoz5oKAG8,3581
27
27
  ultralytics/cfg/datasets/african-wildlife.yaml,sha256=SuloMp9WAZBigGC8az-VLACsFhTM76_O29yhTvUqdnU,915
@@ -47,7 +47,7 @@ ultralytics/cfg/datasets/open-images-v7.yaml,sha256=wK9v3OAGdHORkFdqoBi0hS0fa1b7
47
47
  ultralytics/cfg/datasets/package-seg.yaml,sha256=V4uyTDWWzgft24y9HJWuELKuZ5AndAHXbanxMI6T8GU,849
48
48
  ultralytics/cfg/datasets/signature.yaml,sha256=gBvU3715gVxVAafI_yaYczGX3kfEfA4BttbiMkgOXNk,774
49
49
  ultralytics/cfg/datasets/tiger-pose.yaml,sha256=Y_8htA4--6hmpqHTW-Ix4t9SdaWenSSyl_FUtI2A7n8,926
50
- ultralytics/cfg/datasets/xView.yaml,sha256=P347BJlmb7AG7YC29JyyOtNy52QqZ87Sn7gFP8Dx86s,5353
50
+ ultralytics/cfg/datasets/xView.yaml,sha256=eaQ7bYDRrOMRdaxN_wzlH_fN0wdIlT_GQDtPzrHS2-s,5353
51
51
  ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=1Ycp9qMrwpb8rq7cqht3Q-1gMN0R87U35nm2j_isdro,524
52
52
  ultralytics/cfg/models/11/yolo11-cls.yaml,sha256=17l5GdN-Vst4LvafsK2-q6Li9VX9UlUcT5ClCtikweE,1412
53
53
  ultralytics/cfg/models/11/yolo11-obb.yaml,sha256=3M_c06B-y8da4tunHVxQQ-iFUNLKUfofqCZTpnH5FEU,2034
@@ -115,18 +115,18 @@ ultralytics/data/dataset.py,sha256=JC3sHsKva65sSptdAJHfh90yyag8WrqGXcXNpD9C-f0,3
115
115
  ultralytics/data/loaders.py,sha256=Mt6ogS2SUq8SE6oJajX7xSyzIxvwjKUhxFbIynhBlGk,31748
116
116
  ultralytics/data/split.py,sha256=5ubnL_wsEutFQOj4I4K01L9UpZrrO_vO3HrydSLJyIY,5107
117
117
  ultralytics/data/split_dota.py,sha256=gSGHRWZFQOofMkb8GcTtkUb5gV5jtOV7bzVMovTW0ak,12910
118
- ultralytics/data/utils.py,sha256=Y92D9qxVBZ0uOdhYbFctcBZhRTxOiYYwfFQsVYwtS-8,36702
118
+ ultralytics/data/utils.py,sha256=1YF_-v-laBG41WGmnLo4xsfOhCNNN1og8b2yo11FJos,36716
119
119
  ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
120
120
  ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
121
121
  ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
122
122
  ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
123
123
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
124
- ultralytics/engine/exporter.py,sha256=llc7LdSYD1bkwFw3iUs_xHEZZQk6wE64R6a6LNduUzU,75400
125
- ultralytics/engine/model.py,sha256=oxlYx1nMEOcqLFr_clFhWv3Lni-Ykl3-k1NX9JoHiqY,53520
126
- ultralytics/engine/predictor.py,sha256=bPG_YOnrtXr8zM8QGEkgJJWT5zaDJsN9hEhH6sEkYUs,22478
124
+ ultralytics/engine/exporter.py,sha256=kPX10s0YhRlSLlCSP9MigAO8yjzZ1Azi2apOWktSTjA,75411
125
+ ultralytics/engine/model.py,sha256=q3rj1QmJoR4uYXb6dvn2dVRheEY8TzJhm9KznD_VDso,53488
126
+ ultralytics/engine/predictor.py,sha256=EzFcRzihNTYgdayviLwEk7pUOotNoEVbQtVFI18jNpM,22625
127
127
  ultralytics/engine/results.py,sha256=115lVbiqzyho1fXm-YpqQBtKiv-Wo2FPNhz6ExYHtCk,71499
128
- ultralytics/engine/trainer.py,sha256=tYtRag7WgaQ4HqlnC6c8yFB06lKJ3pdPXTqvB3_Bz0Q,40479
129
- ultralytics/engine/tuner.py,sha256=OGi65rxjq-xgwoVfBZ_nMBcogljSFMe_hu-NMGVg4oo,12818
128
+ ultralytics/engine/trainer.py,sha256=_mTG-z6xnOdFUmB6uOF8HQkFb_uMwP0MrJHlt7X3zVw,40457
129
+ ultralytics/engine/tuner.py,sha256=XuqcjyGpD79pUVn-PXlJJGKXgH1yblPdYBH_R2kHWSU,20586
130
130
  ultralytics/engine/validator.py,sha256=8ky0lcMCYDY7RGYRUowDAKxEMfsPBLpT7LlgfHA-IsY,16681
131
131
  ultralytics/hub/__init__.py,sha256=RmrZw24uyFF109SLVba1s-ItjllfzRKlCgQ_U0RVRUo,6720
132
132
  ultralytics/hub/auth.py,sha256=RIwZDWfW6vS2yGpZKR0xVl0-38itJYEFtmqY_M70bl8,6304
@@ -169,12 +169,12 @@ ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR
169
169
  ultralytics/models/yolo/model.py,sha256=9uMCZtyt-ydHg0mAoOWx7Ljn_I_R_jtlkHxRV-hCLRE,18761
170
170
  ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
171
171
  ultralytics/models/yolo/classify/predict.py,sha256=FqAC2YXe25bRwedMZhF3Lw0waoY-a60xMKELhxApP9I,4149
172
- ultralytics/models/yolo/classify/train.py,sha256=8SD4-RO6W9xb9x62IkzNvmtLeeEjBrqWFYLbVMslgCs,10258
173
- ultralytics/models/yolo/classify/val.py,sha256=lJCGeQ0MClrnSWTccmdn8czXqadoHDLBLr4jonLnAdA,10020
172
+ ultralytics/models/yolo/classify/train.py,sha256=BkSNBCSdvXlG58Yf2SORjHTP7hVWGSp-4vqde0KtbEM,10296
173
+ ultralytics/models/yolo/classify/val.py,sha256=KQAEZQrwoMwTLL0xTfA1Dvh2yfFZ7aAXEREf2HJ-C1E,10039
174
174
  ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
175
175
  ultralytics/models/yolo/detect/predict.py,sha256=CM8gY2LHDh_0z_G_YZ5aE8MZyUga8TXxELDNI0AyKfI,5390
176
176
  ultralytics/models/yolo/detect/train.py,sha256=AwPI0Ab_UzM7i8QIbsbcieZI1_BHiCSU8EpYr0gw4L4,9909
177
- ultralytics/models/yolo/detect/val.py,sha256=4uWoYRcxH3NBvi9uQ-cELU_fLe71b6rfsVMHlu4LvrY,21305
177
+ ultralytics/models/yolo/detect/val.py,sha256=fbM2UbrU2VR7htD0hHkBtlTfaN-f6fmNCdOvqofsajo,21324
178
178
  ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
179
179
  ultralytics/models/yolo/obb/predict.py,sha256=4r1eSld6TNJlk9JG56e-DX6oPL8uBBqiuztyBpxWlHE,2888
180
180
  ultralytics/models/yolo/obb/train.py,sha256=l0z1XoEMe6Nl5eEv0QfRHvJT7aGxuc4J-fE85ehPiLU,3910
@@ -182,22 +182,22 @@ ultralytics/models/yolo/obb/val.py,sha256=4JCYy2ZCVYRU-x8Q6JJOZvicHUZncxPBDy6cAq
182
182
  ultralytics/models/yolo/pose/__init__.py,sha256=63xmuHZLNzV8I76HhVXAq4f2W0KTk8Oi9eL-Y204LyQ,227
183
183
  ultralytics/models/yolo/pose/predict.py,sha256=M0C7ZfVXx4QXgv-szjnaXYEPas76ZLGAgDNNh1GG0vI,3743
184
184
  ultralytics/models/yolo/pose/train.py,sha256=MXYh-Fw7fcp3dPqKAdjcorUACIj-vfaNXqHt9GToSKY,5450
185
- ultralytics/models/yolo/pose/val.py,sha256=9VQkTvh-Mm6RY2Ee7i_oovfjlZhp5ImxZizSpNxfhR8,12654
185
+ ultralytics/models/yolo/pose/val.py,sha256=A4Cvzmqyu0oW5UC9mqNL731ngAwqQBic6tdMceG7W0I,12673
186
186
  ultralytics/models/yolo/segment/__init__.py,sha256=3IThhZ1wlkY9FvmWm9cE-5-ZyE6F1FgzAtQ6jOOFzzw,275
187
187
  ultralytics/models/yolo/segment/predict.py,sha256=qlprQCZn4_bpjpI08U0MU9Q9_1gpHrw_7MXwtXE1l1Y,5377
188
188
  ultralytics/models/yolo/segment/train.py,sha256=bBEnEUHqN3QlbreD5Fy-h1X5Ps-dONH2r9EnoLc72x4,3762
189
- ultralytics/models/yolo/segment/val.py,sha256=vLgQmmLOEse6Z_zn4HTUVuZEXywRR9ap_qdS2MC4O1g,11326
189
+ ultralytics/models/yolo/segment/val.py,sha256=Xy2T-Y4IjjuR5GqWGJjHmCLGL9FxEWfMXDoCoP_ZBBM,11147
190
190
  ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
191
- ultralytics/models/yolo/world/train.py,sha256=yreg4VyzsbLHLwIgn_0qH9GLbccUE2lihNzrNUwXSOs,7847
191
+ ultralytics/models/yolo/world/train.py,sha256=9tSDba3X9VA2y-2oJJUMdXUBi-IdgRmqLW18UqfukvI,7866
192
192
  ultralytics/models/yolo/world/train_world.py,sha256=lk9z_INGPSTP_W7Rjh3qrWSmjHaxOJtGngonh1cj2SM,9551
193
193
  ultralytics/models/yolo/yoloe/__init__.py,sha256=6SLytdJtwu37qewf7CobG7C7Wl1m-xtNdvCXEasfPDE,760
194
194
  ultralytics/models/yolo/yoloe/predict.py,sha256=GmQxCQe7sLomAujde53jQzquzryNn6fEjS4Oalf3mPs,7124
195
- ultralytics/models/yolo/yoloe/train.py,sha256=Z_mPBd8zLcFLrNTYwzDHTKkg0ERRIkAqvgH1IoFgUyE,14051
195
+ ultralytics/models/yolo/yoloe/train.py,sha256=lAb-5TgYA_Z6rwEYCMdPcfjJmCGYQqXE5I40n25CTRk,14067
196
196
  ultralytics/models/yolo/yoloe/train_seg.py,sha256=aCV7M8oQOvODFnU4piZdJh3tIrBJYAzZfRVRx1vRgxo,4956
197
- ultralytics/models/yolo/yoloe/val.py,sha256=76zG39MFrUhdq8DLDtKS-5TvIrPlCdE_IUyKlLJVSWw,9768
198
- ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
199
- ultralytics/nn/autobackend.py,sha256=lvotDJeABLcF7Xb0muAoxM6V3MI0EWKq9vAClHbm7tI,41376
200
- ultralytics/nn/tasks.py,sha256=WSEA_odbXC0R_EGlcoOUhvE8ERIj62-7Tt9rWbo54nE,72480
197
+ ultralytics/models/yolo/yoloe/val.py,sha256=MnS2YwhRxdqXPRlExHt-9HRp8KKIHuFdmiNH1z6LedI,9795
198
+ ultralytics/nn/__init__.py,sha256=PJgOn2phQTTBR2P3s_JWvGeGXQpvw1znsumKow4tCuE,545
199
+ ultralytics/nn/autobackend.py,sha256=yv_-p5F3BhOrZCXUdRZY9K9D6-5hSUUuq23Jm9FKAhk,41360
200
+ ultralytics/nn/tasks.py,sha256=tvoVVqVoMZuylLmUJNDs9eX4bdFbDibQKd3lJed5fYY,70470
201
201
  ultralytics/nn/text_model.py,sha256=lserJWlXNzP31jB4xA-7gkbhB0VsMBGiE9G8wYpztvE,15275
202
202
  ultralytics/nn/modules/__init__.py,sha256=BPMbEm1daI7Tuds3zph2_afAX7Gq1uAqK8BfiCfKTZs,3198
203
203
  ultralytics/nn/modules/activation.py,sha256=75JcIMH2Cu9GTC2Uf55r_5YLpxcrXQDaVoeGQ0hlUAU,2233
@@ -236,11 +236,11 @@ ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6D
236
236
  ultralytics/trackers/utils/gmc.py,sha256=a4WuIh976_GYogvlQEPKTNE59JNNtSNlT_IPrz4wmrM,14028
237
237
  ultralytics/trackers/utils/kalman_filter.py,sha256=PPmM0lwBMdT_hGojvfLoUsBUFMBBMNRAxKbMcQa3wJ0,21619
238
238
  ultralytics/trackers/utils/matching.py,sha256=uSYtywqi1lE_uNN1FwuBFPyISfDQXHMu8K5KH69nrRI,7160
239
- ultralytics/utils/__init__.py,sha256=AKhyF3aM0jwcgAlA2w6ZwAb6K2AQJAxY4q3GnETOxFY,53065
239
+ ultralytics/utils/__init__.py,sha256=qn-3RTwLSQ25d23glCtX39ZH4gQyXi1PQkjk5VZa7Vw,53256
240
240
  ultralytics/utils/autobatch.py,sha256=i6KYLLSItKP1Q2IUlTPHrZhjcxl7UOjs0Seb8bF8pvM,5124
241
241
  ultralytics/utils/autodevice.py,sha256=Od9SGx6xAQoX-3L62PS7I6xOxbbqjYLR4Wipgn5WoDc,8843
242
242
  ultralytics/utils/benchmarks.py,sha256=zKI-DxEqaVmqlE2pg9p6j1kI7Efo1OyM1NnKubYpDU8,31458
243
- ultralytics/utils/checks.py,sha256=jLM9CuKI6aZGIGG4W2n_CORCApGnUb2a1Z5YH87ngew,34453
243
+ ultralytics/utils/checks.py,sha256=WBuJKFiXGqf-5n0S_QNwRet3ZxVIFMdG0VPZSoOJwYM,34468
244
244
  ultralytics/utils/dist.py,sha256=A9lDGtGefTjSVvVS38w86GOdbtLzNBDZuDGK0MT4PRI,4170
245
245
  ultralytics/utils/downloads.py,sha256=mLOLonKQsePC15sLVZJzGyLmD_TZPkL1T_qd0gUb4lA,23029
246
246
  ultralytics/utils/errors.py,sha256=XT9Ru7ivoBgofK6PlnyigGoa7Fmf5nEhyHtnD-8TRXI,1584
@@ -254,12 +254,12 @@ ultralytics/utils/metrics.py,sha256=9nykBkIy6soJebhc31UpaQghC4kz8e0qUpGpnr4yaGs,
254
254
  ultralytics/utils/nms.py,sha256=wCRQ7O7shv5ccEWHgtF9Ky_vUeyumxFLWBFEj1h0U54,14199
255
255
  ultralytics/utils/ops.py,sha256=z6feVEbs57eN18Nl4IEdhgUiChGAZrq4bQjDkp-0MxA,26630
256
256
  ultralytics/utils/patches.py,sha256=j0fXwX3YqKrON7yrmSVkXsn__tsvs4qVuysH-hzcxOE,6541
257
- ultralytics/utils/plotting.py,sha256=yIfkJ7JosIHtfHKGXZAJL82REGUrSK-HL4DjiLVqGG4,47463
258
- ultralytics/utils/tal.py,sha256=K3lPxC3bbduP8ho-toJ9VHnklo5IaGkqogEaQorbrvs,20924
259
- ultralytics/utils/torch_utils.py,sha256=UrFD-R-3XhYSHgFg3rF2HGyk0YojM2jNCyxiIsOb-TY,39493
260
- ultralytics/utils/tqdm.py,sha256=M_FQYKTjI9nGbB-DFN5GOwfGFFil_l0VI5bFNBYaHSY,16853
257
+ ultralytics/utils/plotting.py,sha256=6iPtxQJ7JFTv2vWpSzP90plkksXhvql1EVQaKomkuiQ,47515
258
+ ultralytics/utils/tal.py,sha256=LrziY_ZHz4wln3oOnqAzgyPaXKoup17Sa103BpuaQFU,20935
259
+ ultralytics/utils/torch_utils.py,sha256=SKgOEaa2_7k7tGI4VfNWcQV4wvjLWVUusJreEc4bPmI,39488
260
+ ultralytics/utils/tqdm.py,sha256=ny5RIg2OTkWQ7gdaXfYaoIgR0Xn2_hNGB6tUpO2Unns,16137
261
261
  ultralytics/utils/triton.py,sha256=-qG-ZP5uotcD8FZyaAcEGHX7Cv9_yBG8UHvmmXpYZkM,5422
262
- ultralytics/utils/tuner.py,sha256=bHr09Fz-0-t0ei55gX5wJh-obyiAQoicP7HUVM2I8qA,6826
262
+ ultralytics/utils/tuner.py,sha256=9D4dSIvwwxcNSJcH2QJ92qiIVi9zu-1L7_PBZ8okDyE,6816
263
263
  ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
264
264
  ultralytics/utils/callbacks/base.py,sha256=dGir0vkJY4jjprW63e23Qy4kHUT5dOINPii6HnwJuPg,6893
265
265
  ultralytics/utils/callbacks/clearml.py,sha256=xr5mZT_cY6AY_drbdCXFt-Dp2fOjRELxLDhDoRhNPg8,6067
@@ -272,8 +272,8 @@ ultralytics/utils/callbacks/platform.py,sha256=a7T_8htoBB0uX1WIc392UJnhDjxkRyQMv
272
272
  ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
273
273
  ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
274
274
  ultralytics/utils/callbacks/wb.py,sha256=ngQO8EJ1kxJDF1YajScVtzBbm26jGuejA0uWeOyvf5A,7685
275
- dgenerate_ultralytics_headless-8.3.191.dist-info/METADATA,sha256=-MabHC3_xoOa-DvKpGTLgg_gwEAhxURrGGJvTfb2UtY,38789
276
- dgenerate_ultralytics_headless-8.3.191.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
277
- dgenerate_ultralytics_headless-8.3.191.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
278
- dgenerate_ultralytics_headless-8.3.191.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
279
- dgenerate_ultralytics_headless-8.3.191.dist-info/RECORD,,
275
+ dgenerate_ultralytics_headless-8.3.193.dist-info/METADATA,sha256=1wXryxIUWSf18KfYeyQmgtB1c56Ka8AThXX78xrxqIY,38789
276
+ dgenerate_ultralytics_headless-8.3.193.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
277
+ dgenerate_ultralytics_headless-8.3.193.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
278
+ dgenerate_ultralytics_headless-8.3.193.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
279
+ dgenerate_ultralytics_headless-8.3.193.dist-info/RECORD,,
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.191"
3
+ __version__ = "8.3.193"
4
4
 
5
5
  import os
6
6
 
@@ -15,6 +15,7 @@ from ultralytics.utils import (
15
15
  DEFAULT_CFG,
16
16
  DEFAULT_CFG_DICT,
17
17
  DEFAULT_CFG_PATH,
18
+ FLOAT_OR_INT,
18
19
  IS_VSCODE,
19
20
  LOGGER,
20
21
  RANK,
@@ -22,6 +23,7 @@ from ultralytics.utils import (
22
23
  RUNS_DIR,
23
24
  SETTINGS,
24
25
  SETTINGS_FILE,
26
+ STR_OR_PATH,
25
27
  TESTS_RUNNING,
26
28
  YAML,
27
29
  IterableSimpleNamespace,
@@ -267,7 +269,7 @@ def cfg2dict(cfg: str | Path | dict | SimpleNamespace) -> dict:
267
269
  - If cfg is a SimpleNamespace object, it's converted to a dictionary using vars().
268
270
  - If cfg is already a dictionary, it's returned unchanged.
269
271
  """
270
- if isinstance(cfg, (str, Path)):
272
+ if isinstance(cfg, STR_OR_PATH):
271
273
  cfg = YAML.load(cfg) # load dict
272
274
  elif isinstance(cfg, SimpleNamespace):
273
275
  cfg = vars(cfg) # convert to dict
@@ -309,7 +311,7 @@ def get_cfg(cfg: str | Path | dict | SimpleNamespace = DEFAULT_CFG_DICT, overrid
309
311
 
310
312
  # Special handling for numeric project/name
311
313
  for k in "project", "name":
312
- if k in cfg and isinstance(cfg[k], (int, float)):
314
+ if k in cfg and isinstance(cfg[k], FLOAT_OR_INT):
313
315
  cfg[k] = str(cfg[k])
314
316
  if cfg.get("name") == "model": # assign model to 'name' arg
315
317
  cfg["name"] = str(cfg.get("model", "")).partition(".")[0]
@@ -352,7 +354,7 @@ def check_cfg(cfg: dict, hard: bool = True) -> None:
352
354
  """
353
355
  for k, v in cfg.items():
354
356
  if v is not None: # None values may be from optional args
355
- if k in CFG_FLOAT_KEYS and not isinstance(v, (int, float)):
357
+ if k in CFG_FLOAT_KEYS and not isinstance(v, FLOAT_OR_INT):
356
358
  if hard:
357
359
  raise TypeError(
358
360
  f"'{k}={v}' is of invalid type {type(v).__name__}. "
@@ -360,7 +362,7 @@ def check_cfg(cfg: dict, hard: bool = True) -> None:
360
362
  )
361
363
  cfg[k] = float(v)
362
364
  elif k in CFG_FRACTION_KEYS:
363
- if not isinstance(v, (int, float)):
365
+ if not isinstance(v, FLOAT_OR_INT):
364
366
  if hard:
365
367
  raise TypeError(
366
368
  f"'{k}={v}' is of invalid type {type(v).__name__}. "
@@ -413,7 +415,7 @@ def get_save_dir(args: SimpleNamespace, name: str = None) -> Path:
413
415
  name = name or args.name or f"{args.mode}"
414
416
  save_dir = increment_path(Path(project) / name, exist_ok=args.exist_ok if RANK in {-1, 0} else True)
415
417
 
416
- return Path(save_dir)
418
+ return Path(save_dir).resolve() # resolve to display full path in console
417
419
 
418
420
 
419
421
  def _handle_deprecation(custom: dict) -> dict:
@@ -45,7 +45,7 @@ download: |
45
45
  # Convert labels
46
46
  names = "image", "x1", "y1", "x2", "y2", "class", "image_width", "image_height" # column names
47
47
  for d in "annotations_train.csv", "annotations_val.csv", "annotations_test.csv":
48
- x = pl.read_csv(dir / "annotations" / d, names=names).to_numpy() # annotations
48
+ x = pl.read_csv(dir / "annotations" / d, names=names, infer_schema_length=None).to_numpy() # annotations
49
49
  images, unique_images = x[:, 0], np.unique(x[:, 0])
50
50
  with open((dir / d).with_suffix(".txt").__str__().replace("annotations_", ""), "w", encoding="utf-8") as f:
51
51
  f.writelines(f"./images/{s}\n" for s in unique_images)
@@ -87,7 +87,7 @@ download: |
87
87
  from PIL import Image
88
88
 
89
89
  from ultralytics.utils import TQDM
90
- from ultralytics.data.utils import autosplit
90
+ from ultralytics.data.split import autosplit
91
91
  from ultralytics.utils.ops import xyxy2xywhn
92
92
 
93
93
 
ultralytics/data/utils.py CHANGED
@@ -216,7 +216,7 @@ def verify_image_label(args: tuple) -> list:
216
216
  points = lb[:, 1:]
217
217
  # Coordinate points check with 1% tolerance
218
218
  assert points.max() <= 1.01, f"non-normalized or out of bounds coordinates {points[points > 1.01]}"
219
- assert lb.min() >= -0.01, f"negative class labels {lb[lb < -0.01]}"
219
+ assert lb.min() >= -0.01, f"negative class labels or coordinate {lb[lb < -0.01]}"
220
220
 
221
221
  # All labels
222
222
  max_cls = 0 if single_cls else lb[:, 0].max() # max label count
@@ -90,6 +90,7 @@ from ultralytics.utils import (
90
90
  RKNN_CHIPS,
91
91
  ROOT,
92
92
  SETTINGS,
93
+ TORCH_VERSION,
93
94
  WINDOWS,
94
95
  YAML,
95
96
  callbacks,
@@ -567,7 +568,7 @@ class Exporter:
567
568
  @try_export
568
569
  def export_torchscript(self, prefix=colorstr("TorchScript:")):
569
570
  """Export YOLO model to TorchScript format."""
570
- LOGGER.info(f"\n{prefix} starting export with torch {torch.__version__}...")
571
+ LOGGER.info(f"\n{prefix} starting export with torch {TORCH_VERSION}...")
571
572
  f = self.file.with_suffix(".torchscript")
572
573
 
573
574
  ts = torch.jit.trace(NMSModel(self.model, self.args) if self.args.nms else self.model, self.im, strict=False)
@@ -586,7 +587,7 @@ class Exporter:
586
587
  """Export YOLO model to ONNX format."""
587
588
  requirements = ["onnx>=1.12.0"]
588
589
  if self.args.simplify:
589
- requirements += ["onnxslim>=0.1.65", "onnxruntime" + ("-gpu" if torch.cuda.is_available() else "")]
590
+ requirements += ["onnxslim==0.1.65", "onnxruntime" + ("-gpu" if torch.cuda.is_available() else "")]
590
591
  check_requirements(requirements)
591
592
  import onnx # noqa
592
593
 
@@ -648,7 +649,7 @@ class Exporter:
648
649
  import openvino as ov
649
650
 
650
651
  LOGGER.info(f"\n{prefix} starting export with openvino {ov.__version__}...")
651
- assert TORCH_1_13, f"OpenVINO export requires torch>=1.13.0 but torch=={torch.__version__} is installed"
652
+ assert TORCH_1_13, f"OpenVINO export requires torch>=1.13.0 but torch=={TORCH_VERSION} is installed"
652
653
  ov_model = ov.convert_model(
653
654
  NMSModel(self.model, self.args) if self.args.nms else self.model,
654
655
  input=None if self.args.dynamic else [self.im.shape],
@@ -964,7 +965,7 @@ class Exporter:
964
965
  "ai-edge-litert>=1.2.0,<1.4.0", # required by 'onnx2tf' package
965
966
  "onnx>=1.12.0",
966
967
  "onnx2tf>=1.26.3",
967
- "onnxslim>=0.1.65",
968
+ "onnxslim==0.1.65",
968
969
  "onnxruntime-gpu" if cuda else "onnxruntime",
969
970
  "protobuf>=5",
970
971
  ),
@@ -12,7 +12,7 @@ from PIL import Image
12
12
 
13
13
  from ultralytics.cfg import TASK2DATA, get_cfg, get_save_dir
14
14
  from ultralytics.engine.results import Results
15
- from ultralytics.nn.tasks import attempt_load_one_weight, guess_model_task, yaml_model_load
15
+ from ultralytics.nn.tasks import guess_model_task, load_checkpoint, yaml_model_load
16
16
  from ultralytics.utils import (
17
17
  ARGV,
18
18
  ASSETS,
@@ -294,7 +294,7 @@ class Model(torch.nn.Module):
294
294
  weights = checks.check_model_file_from_stem(weights) # add suffix, i.e. yolo11n -> yolo11n.pt
295
295
 
296
296
  if str(weights).rpartition(".")[-1] == "pt":
297
- self.model, self.ckpt = attempt_load_one_weight(weights)
297
+ self.model, self.ckpt = load_checkpoint(weights)
298
298
  self.task = self.model.task
299
299
  self.overrides = self.model.args = self._reset_ckpt_args(self.model.args)
300
300
  self.ckpt_path = self.model.pt_path
@@ -385,7 +385,7 @@ class Model(torch.nn.Module):
385
385
  self._check_is_pytorch_model()
386
386
  if isinstance(weights, (str, Path)):
387
387
  self.overrides["pretrained"] = weights # remember the weights for DDP training
388
- weights, self.ckpt = attempt_load_one_weight(weights)
388
+ weights, self.ckpt = load_checkpoint(weights)
389
389
  self.model.load(weights)
390
390
  return self
391
391
 
@@ -802,7 +802,7 @@ class Model(torch.nn.Module):
802
802
  # Update model and cfg after training
803
803
  if RANK in {-1, 0}:
804
804
  ckpt = self.trainer.best if self.trainer.best.exists() else self.trainer.last
805
- self.model, self.ckpt = attempt_load_one_weight(ckpt)
805
+ self.model, self.ckpt = load_checkpoint(ckpt)
806
806
  self.overrides = self.model.args
807
807
  self.metrics = getattr(self.trainer.validator, "metrics", None) # TODO: no metrics returned by DDP
808
808
  return self.metrics
@@ -266,13 +266,17 @@ class BasePredictor:
266
266
  channels=getattr(self.model, "ch", 3),
267
267
  )
268
268
  self.source_type = self.dataset.source_type
269
- if not getattr(self, "stream", True) and (
269
+ long_sequence = (
270
270
  self.source_type.stream
271
271
  or self.source_type.screenshot
272
272
  or len(self.dataset) > 1000 # many images
273
273
  or any(getattr(self.dataset, "video_flag", [False]))
274
- ): # videos
275
- LOGGER.warning(STREAM_WARNING)
274
+ )
275
+ if long_sequence:
276
+ import torchvision # noqa (import here triggers torchvision NMS use in nms.py)
277
+
278
+ if not getattr(self, "stream", True): # videos
279
+ LOGGER.warning(STREAM_WARNING)
276
280
  self.vid_writer = {}
277
281
 
278
282
  @smart_inference_mode()
@@ -24,7 +24,7 @@ from torch import nn, optim
24
24
  from ultralytics import __version__
25
25
  from ultralytics.cfg import get_cfg, get_save_dir
26
26
  from ultralytics.data.utils import check_cls_dataset, check_det_dataset
27
- from ultralytics.nn.tasks import attempt_load_one_weight, attempt_load_weights
27
+ from ultralytics.nn.tasks import load_checkpoint
28
28
  from ultralytics.utils import (
29
29
  DEFAULT_CFG,
30
30
  GIT,
@@ -544,7 +544,7 @@ class BaseTrainer:
544
544
  """Read results.csv into a dictionary using polars."""
545
545
  import polars as pl # scope for faster 'import ultralytics'
546
546
 
547
- return pl.read_csv(self.csv).to_dict(as_series=False)
547
+ return pl.read_csv(self.csv, infer_schema_length=None).to_dict(as_series=False)
548
548
 
549
549
  def _model_train(self):
550
550
  """Set model in training mode."""
@@ -644,10 +644,10 @@ class BaseTrainer:
644
644
  cfg, weights = self.model, None
645
645
  ckpt = None
646
646
  if str(self.model).endswith(".pt"):
647
- weights, ckpt = attempt_load_one_weight(self.model)
647
+ weights, ckpt = load_checkpoint(self.model)
648
648
  cfg = weights.yaml
649
649
  elif isinstance(self.args.pretrained, (str, Path)):
650
- weights, _ = attempt_load_one_weight(self.args.pretrained)
650
+ weights, _ = load_checkpoint(self.args.pretrained)
651
651
  self.model = self.get_model(cfg=cfg, weights=weights, verbose=RANK == -1) # calls Model(cfg, weights)
652
652
  return ckpt
653
653
 
@@ -768,7 +768,7 @@ class BaseTrainer:
768
768
  last = Path(check_file(resume) if exists else get_latest_run())
769
769
 
770
770
  # Check that resume data YAML exists, otherwise strip to force re-download of dataset
771
- ckpt_args = attempt_load_weights(last).args
771
+ ckpt_args = load_checkpoint(last)[0].args
772
772
  if not isinstance(ckpt_args["data"], dict) and not Path(ckpt_args["data"]).exists():
773
773
  ckpt_args["data"] = self.args.data
774
774