ultralytics 8.3.108__py3-none-any.whl → 8.3.109__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.
- ultralytics/__init__.py +1 -1
- ultralytics/engine/exporter.py +1 -1
- ultralytics/engine/trainer.py +2 -2
- ultralytics/models/rtdetr/val.py +1 -3
- ultralytics/utils/autobatch.py +3 -3
- ultralytics/utils/checks.py +1 -0
- {ultralytics-8.3.108.dist-info → ultralytics-8.3.109.dist-info}/METADATA +1 -1
- {ultralytics-8.3.108.dist-info → ultralytics-8.3.109.dist-info}/RECORD +12 -12
- {ultralytics-8.3.108.dist-info → ultralytics-8.3.109.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.108.dist-info → ultralytics-8.3.109.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.108.dist-info → ultralytics-8.3.109.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.108.dist-info → ultralytics-8.3.109.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/engine/exporter.py
CHANGED
@@ -813,7 +813,7 @@ class Exporter:
|
|
813
813
|
scale = 1 / 255
|
814
814
|
classifier_config = None
|
815
815
|
if self.model.task == "classify":
|
816
|
-
classifier_config = ct.ClassifierConfig(list(self.model.names.values()))
|
816
|
+
classifier_config = ct.ClassifierConfig(list(self.model.names.values()))
|
817
817
|
model = self.model
|
818
818
|
elif self.model.task == "detect":
|
819
819
|
model = IOSDetectModel(self.model, self.im) if self.args.nms else self.model
|
ultralytics/engine/trainer.py
CHANGED
@@ -457,8 +457,8 @@ class BaseTrainer:
|
|
457
457
|
self.scheduler.last_epoch = self.epoch # do not move
|
458
458
|
self.stop |= epoch >= self.epochs # stop if exceeded epochs
|
459
459
|
self.run_callbacks("on_fit_epoch_end")
|
460
|
-
if self._get_memory(fraction=True) > 0.
|
461
|
-
self._clear_memory() # clear if memory utilization >
|
460
|
+
if self._get_memory(fraction=True) > 0.5:
|
461
|
+
self._clear_memory() # clear if memory utilization > 50%
|
462
462
|
|
463
463
|
# Early Stopping
|
464
464
|
if RANK != -1: # if DDP training
|
ultralytics/models/rtdetr/val.py
CHANGED
@@ -143,12 +143,10 @@ class RTDETRValidator(DetectionValidator):
|
|
143
143
|
for i, bbox in enumerate(bboxes): # (300, 4)
|
144
144
|
bbox = ops.xywh2xyxy(bbox)
|
145
145
|
score, cls = scores[i].max(-1) # (300, )
|
146
|
-
# Do not need threshold for evaluation as only got 300 boxes here
|
147
|
-
# idx = score > self.args.conf
|
148
146
|
pred = torch.cat([bbox, score[..., None], cls[..., None]], dim=-1) # filter
|
149
147
|
# Sort by confidence to correctly get internal metrics
|
150
148
|
pred = pred[score.argsort(descending=True)]
|
151
|
-
outputs[i] = pred
|
149
|
+
outputs[i] = pred[score > self.args.conf]
|
152
150
|
|
153
151
|
return outputs
|
154
152
|
|
ultralytics/utils/autobatch.py
CHANGED
@@ -86,8 +86,8 @@ def autobatch(model, imgsz=640, fraction=0.60, batch_size=DEFAULT_CFG.batch, max
|
|
86
86
|
and (i == 0 or not results[i - 1] or y[2] > results[i - 1][2]) # first item or increasing memory
|
87
87
|
]
|
88
88
|
fit_x, fit_y = zip(*xy) if xy else ([], [])
|
89
|
-
p = np.polyfit(
|
90
|
-
b = int(round(
|
89
|
+
p = np.polyfit(fit_x, fit_y, deg=1) # first-degree polynomial fit in log space
|
90
|
+
b = int((round(f * fraction) - p[1]) / p[0]) # y intercept (optimal batch size)
|
91
91
|
if None in results: # some sizes failed
|
92
92
|
i = results.index(None) # first fail index
|
93
93
|
if b >= batch_sizes[i]: # y intercept above failure point
|
@@ -96,7 +96,7 @@ def autobatch(model, imgsz=640, fraction=0.60, batch_size=DEFAULT_CFG.batch, max
|
|
96
96
|
LOGGER.info(f"{prefix}WARNING ⚠️ batch={b} outside safe range, using default batch-size {batch_size}.")
|
97
97
|
b = batch_size
|
98
98
|
|
99
|
-
fraction = (np.
|
99
|
+
fraction = (np.polyval(p, b) + r + a) / t # predicted fraction
|
100
100
|
LOGGER.info(f"{prefix}Using batch-size {b} for {d} {t * fraction:.2f}G/{t:.2f}G ({fraction * 100:.0f}%) ✅")
|
101
101
|
return b
|
102
102
|
except Exception as e:
|
ultralytics/utils/checks.py
CHANGED
@@ -890,5 +890,6 @@ check_torchvision() # check torch-torchvision compatibility
|
|
890
890
|
|
891
891
|
# Define constants
|
892
892
|
IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
|
893
|
+
IS_PYTHON_3_11 = PYTHON_VERSION.startswith("3.11")
|
893
894
|
IS_PYTHON_3_12 = PYTHON_VERSION.startswith("3.12")
|
894
895
|
IS_PYTHON_3_13 = PYTHON_VERSION.startswith("3.13")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.109
|
4
4
|
Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
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
|
-
ultralytics/__init__.py,sha256=
|
1
|
+
ultralytics/__init__.py,sha256=tTjnpkRXWYl2pbPaYIAqZyl6F8jys30t6Xa7IwdCIp8,730
|
2
2
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
3
3
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
4
4
|
ultralytics/cfg/__init__.py,sha256=HZdpo0m_8NynZLmTie2dDx-OEZH7WoM8YtALjB7lKgM,39838
|
@@ -102,11 +102,11 @@ ultralytics/data/loaders.py,sha256=_Gyp_BfGTZwsFdn4UnolXxdU_sAYZLIrv0L2TRI9R5g,2
|
|
102
102
|
ultralytics/data/split_dota.py,sha256=p8eVGht9tABSVbf9vwvxA_AQYEva3IGHePKlMeNrn64,11872
|
103
103
|
ultralytics/data/utils.py,sha256=aRPwIoLrCML_Kcd0dI9B6c5Ct4dvhdF36rDHtuf7Ww4,33217
|
104
104
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
105
|
-
ultralytics/engine/exporter.py,sha256=
|
105
|
+
ultralytics/engine/exporter.py,sha256=Nz2ytl_wSLjtW1mc2hSv5QiWt5CMcJarJu8sijcyDd0,73925
|
106
106
|
ultralytics/engine/model.py,sha256=YgQKYZrPENSTvLENspg-bXI9FinzzWARfb0U-C9vH-M,52916
|
107
107
|
ultralytics/engine/predictor.py,sha256=hXDF7d03rtVzoEQBW1tMN665-TALIyM1q7kXARJlmKM,21630
|
108
108
|
ultralytics/engine/results.py,sha256=H3pFJhUjYKvVyOUqqZjfIn8vnCpl81aYNOnregMrBoQ,79716
|
109
|
-
ultralytics/engine/trainer.py,sha256=
|
109
|
+
ultralytics/engine/trainer.py,sha256=CdCkH0ky8cqqVQHZQf4rQ_f5wKz98sYwY6Z83uLDrwY,38904
|
110
110
|
ultralytics/engine/tuner.py,sha256=CW6Ys4NV6SVScXA5GQO5DeSIJWys9e_mqUg26b6NYu4,12598
|
111
111
|
ultralytics/engine/validator.py,sha256=Xijg74RHn43ANjQJaBJ4zZkWd0MMPUH2TzfmydAMbzk,16974
|
112
112
|
ultralytics/hub/__init__.py,sha256=wDtAUKdfqob95tfFHgDJFXcsNSDSdoIQkJTm-CfIUTI,6616
|
@@ -128,7 +128,7 @@ ultralytics/models/rtdetr/__init__.py,sha256=_jEHmOjI_QP_nT3XJXLgYHQ6bXG4EL8Gnvn
|
|
128
128
|
ultralytics/models/rtdetr/model.py,sha256=zx9UKpReYCRL7Is2DXIX9ZcJE25KE_fPZ-NYx5vF6E4,2119
|
129
129
|
ultralytics/models/rtdetr/predict.py,sha256=5VNvyULxegg_NfGo7ugfIKHrtKhpaspJZdagU1haQmo,3942
|
130
130
|
ultralytics/models/rtdetr/train.py,sha256=YONMv5RjLuO29Ab_tuHtgrlBfsicCGQeAvYDVeL02bs,4144
|
131
|
-
ultralytics/models/rtdetr/val.py,sha256=
|
131
|
+
ultralytics/models/rtdetr/val.py,sha256=MfX3drVsGOqbK0au-ZroDNfeYXmFCSembfElFmuFGuI,7301
|
132
132
|
ultralytics/models/sam/__init__.py,sha256=iR7B06rAEni21eptg8n4rLOP0Z_qV9y9PL-L93n4_7s,266
|
133
133
|
ultralytics/models/sam/amg.py,sha256=r_duG0DCeCyTYfhcVh-ti10FPMl4VGL4SKc8yvbQpNU,11050
|
134
134
|
ultralytics/models/sam/build.py,sha256=Vhml3zBGDcRO-efauNdM0ZlKTV10ADAj_aT823lPJv8,12515
|
@@ -215,9 +215,9 @@ ultralytics/trackers/utils/gmc.py,sha256=NnLxtgZIKdO5-C_J0xqeob1iRXgpubyJOgbIEeJ
|
|
215
215
|
ultralytics/trackers/utils/kalman_filter.py,sha256=A0CqOnnaKH6kr0XwuHzyHmIU6aJAjJYxF9jVlNBKZHo,21326
|
216
216
|
ultralytics/trackers/utils/matching.py,sha256=7eIufSdeN7cXuFMjvcfvz0Ldq84m4YKZl5IGxBR8IIo,7169
|
217
217
|
ultralytics/utils/__init__.py,sha256=-OY2ZAJdN7XLPSG1dpnWWv63ZqmhzAxrio2dMGXuyEg,50254
|
218
|
-
ultralytics/utils/autobatch.py,sha256=
|
218
|
+
ultralytics/utils/autobatch.py,sha256=0QSSYfzZIcHbbE5udrhRofJiJru20YaO7I1D8nhJHhc,4950
|
219
219
|
ultralytics/utils/benchmarks.py,sha256=7xJ7I0XqLXE-51_OCETKdfMKpk1zUkMTq0kCbdMsMks,30359
|
220
|
-
ultralytics/utils/checks.py,sha256=
|
220
|
+
ultralytics/utils/checks.py,sha256=J2ebkGG1QBbYIrBjwlfECiJtDJzqFkAg_Nn9pdRsW_c,32728
|
221
221
|
ultralytics/utils/dist.py,sha256=M8svPWdrRDcSmqIBGrqIaV8yi98Z3HUhXwsauDjVlkM,4090
|
222
222
|
ultralytics/utils/downloads.py,sha256=4P1JIc04tTd_oz3-AHlhRSGaVtnSQPg_gYlh__U27-4,22169
|
223
223
|
ultralytics/utils/errors.py,sha256=vY9h2evFSrHnZdHJVVrmm8Zzw4qVDLyo9DeYW5g0dFk,1573
|
@@ -244,9 +244,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=XXnnKQ-MoLIexl8y2Vb0i-cCLyePE0n5BU
|
|
244
244
|
ultralytics/utils/callbacks/raytune.py,sha256=A8amUGpux7dYES-L1iSeMoMXBySGWCD1aUqT7vcG-pU,1284
|
245
245
|
ultralytics/utils/callbacks/tensorboard.py,sha256=7eUX21_Ym7i6iN4euZzrqglphyl5xak1yl_-wfFshbg,5502
|
246
246
|
ultralytics/utils/callbacks/wb.py,sha256=iDRFXI4IIDm8R5OI89DMTmjs8aHLo1HRCLkOFKdaMG4,7507
|
247
|
-
ultralytics-8.3.
|
248
|
-
ultralytics-8.3.
|
249
|
-
ultralytics-8.3.
|
250
|
-
ultralytics-8.3.
|
251
|
-
ultralytics-8.3.
|
252
|
-
ultralytics-8.3.
|
247
|
+
ultralytics-8.3.109.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
248
|
+
ultralytics-8.3.109.dist-info/METADATA,sha256=IFJeOd0oWz3zDZ9deDgTtFGWE-mRt2nSoQPnoj0QZ7E,37354
|
249
|
+
ultralytics-8.3.109.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
250
|
+
ultralytics-8.3.109.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
251
|
+
ultralytics-8.3.109.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
252
|
+
ultralytics-8.3.109.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|