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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.108"
3
+ __version__ = "8.3.109"
4
4
 
5
5
  import os
6
6
 
@@ -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())) if self.args.nms else None
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
@@ -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.9:
461
- self._clear_memory() # clear if memory utilization > 90%
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
@@ -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 # [idx]
149
+ outputs[i] = pred[score > self.args.conf]
152
150
 
153
151
  return outputs
154
152
 
@@ -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(np.log(fit_x), np.log(fit_y), deg=1) # first-degree polynomial fit in log space
90
- b = int(round(np.exp((np.log(f * fraction) - p[1]) / p[0]))) # y intercept (optimal batch size)
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.exp(np.polyval(p, np.log(b))) + r + a) / t # predicted fraction
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:
@@ -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.108
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=ihzQQ3TdLAuJ4ZYoKETGLRD-wxI8Bh9DRKvuM_sU12k,730
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=eGP2x38VreRmtBzGt0iNRiow_lNxZuQbhGQ7v5YQxrU,73952
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=KAeiNoH5NIRhQPIfr5AhVwDerk9dy0-QJu-FlxtG4xA,38904
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=xo6B02EgLKqMf9nAwpRVwslIg_UUzivE3UFoALc8ohE,7407
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=KnvmNSAO_6H3ZLJ4fOFMTFbOaMlbp025LiJqrdKIz8c,4998
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=d30cJY1G3wBWWTlq3C3yGVmDhAUtfXa9U3nuTO4sXQo,32677
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.108.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
248
- ultralytics-8.3.108.dist-info/METADATA,sha256=MD-pW1ZQjH1xiuXRiomX1tSk9JOZPo6mcWrP-x0Osio,37354
249
- ultralytics-8.3.108.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
250
- ultralytics-8.3.108.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
251
- ultralytics-8.3.108.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
252
- ultralytics-8.3.108.dist-info/RECORD,,
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,,