ultralytics 8.3.120__py3-none-any.whl → 8.3.121__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.120"
3
+ __version__ = "8.3.121"
4
4
 
5
5
  import os
6
6
 
@@ -1026,7 +1026,9 @@ class CutMix(BaseMixTransform):
1026
1026
  labels2 = labels.pop("mix_labels")[0]
1027
1027
  area = cut_areas[np.random.choice(idx)] # randomle select one
1028
1028
  ioa2 = bbox_ioa(area[None], labels2["instances"].bboxes).squeeze(0)
1029
- indexes2 = np.nonzero(ioa2 >= 0.01 if len(labels["instances"].segments) else 0.1)[0]
1029
+ indexes2 = np.nonzero(ioa2 >= (0.01 if len(labels["instances"].segments) else 0.1))[0]
1030
+ if len(indexes2) == 0:
1031
+ return labels
1030
1032
 
1031
1033
  instances2 = labels2["instances"][indexes2]
1032
1034
  instances2.convert_bbox("xyxy")
@@ -636,6 +636,8 @@ class Exporter:
636
636
  if self.args.int8:
637
637
  fq = str(self.file).replace(self.file.suffix, f"_int8_openvino_model{os.sep}")
638
638
  fq_ov = str(Path(fq) / self.file.with_suffix(".xml").name)
639
+ # INT8 requires nncf, nncf requires packaging>=23.2 https://github.com/openvinotoolkit/nncf/issues/3463
640
+ check_requirements("packaging>=23.2") # must be installed first to build nncf wheel
639
641
  check_requirements("nncf>=2.14.0")
640
642
  import nncf
641
643
 
@@ -58,7 +58,7 @@ class DETRLoss(nn.Module):
58
58
  use_uni_match (bool): Whether to use fixed layer for auxiliary branch label assignment.
59
59
  uni_match_ind (int): Index of fixed layer for uni_match.
60
60
  gamma (float): The focusing parameter that controls how much the loss focuses on hard-to-classify examples.
61
- alpha (float): The balancing factor used to address class imbalance.
61
+ alpha (float | list): The balancing factor used to address class imbalance.
62
62
  """
63
63
  super().__init__()
64
64
 
@@ -320,9 +320,10 @@ def safe_download(
320
320
  LOGGER.info(f"{desc}...")
321
321
  f.parent.mkdir(parents=True, exist_ok=True) # make directory if missing
322
322
  check_disk_space(url, path=f.parent)
323
+ curl_installed = shutil.which("curl")
323
324
  for i in range(retry + 1):
324
325
  try:
325
- if curl or i > 0: # curl download with retry, continue
326
+ if (curl or i > 0) and curl_installed: # curl download with retry, continue
326
327
  s = "sS" * (not progress) # silent
327
328
  r = subprocess.run(["curl", "-#", f"-{s}L", url, "-o", f, "--retry", "3", "-C", "-"]).returncode
328
329
  assert r == 0, f"Curl return value {r}"
@@ -167,7 +167,7 @@ def export_engine(
167
167
  trt.IInt8Calibrator.__init__(self)
168
168
  self.dataset = dataset
169
169
  self.data_iter = iter(dataset)
170
- self.algo = trt.CalibrationAlgoType.ENTROPY_CALIBRATION_2
170
+ self.algo = trt.CalibrationAlgoType.MINMAX_CALIBRATION
171
171
  self.batch = dataset.batch_size
172
172
  self.cache = Path(cache)
173
173
 
ultralytics/utils/loss.py CHANGED
@@ -48,14 +48,14 @@ class FocalLoss(nn.Module):
48
48
 
49
49
  Args:
50
50
  gamma (float): The focusing parameter that controls how much the loss focuses on hard-to-classify examples.
51
- alpha (float): The balancing factor used to address class imbalance.
51
+ alpha (float | list): The balancing factor used to address class imbalance.
52
52
  """
53
53
 
54
54
  def __init__(self, gamma=1.5, alpha=0.25):
55
55
  """Initialize FocalLoss class with no parameters."""
56
56
  super().__init__()
57
57
  self.gamma = gamma
58
- self.alpha = alpha
58
+ self.alpha = torch.tensor(alpha)
59
59
 
60
60
  def forward(self, pred, label):
61
61
  """Calculate focal loss with modulating factors for class imbalance."""
@@ -68,7 +68,8 @@ class FocalLoss(nn.Module):
68
68
  p_t = label * pred_prob + (1 - label) * (1 - pred_prob)
69
69
  modulating_factor = (1.0 - p_t) ** self.gamma
70
70
  loss *= modulating_factor
71
- if self.alpha > 0:
71
+ if (self.alpha > 0).any():
72
+ self.alpha = self.alpha.to(device=pred.device, dtype=pred.dtype)
72
73
  alpha_factor = label * self.alpha + (1 - label) * (1 - self.alpha)
73
74
  loss *= alpha_factor
74
75
  return loss.mean(1).sum()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.120
3
+ Version: 8.3.121
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>
@@ -7,7 +7,7 @@ tests/test_exports.py,sha256=dhZn86LdbapW15RthQF870LGxDjC1MUZhlGdBgPmgIQ,9716
7
7
  tests/test_integrations.py,sha256=dQteeRsRVuT_p5-T88-7jqT65Zm9iAXkyKg-KQ1_TQ8,6341
8
8
  tests/test_python.py,sha256=ok2xp7zwPOwcyl4yNawlx1uJ5HETn9eU-jyTPYzA0fI,25491
9
9
  tests/test_solutions.py,sha256=BIvg9zW0a_ggEmrPKgB_Y0MncveH-eYuN5KlqdJ6nHs,5726
10
- ultralytics/__init__.py,sha256=s0vdAaSAbSlu_5DON0IAjl8rb6whRMR18hW9WkNVsfw,730
10
+ ultralytics/__init__.py,sha256=tdUy7WK4jFpbt6Ko5j53cSpPiqBik5Tnt-Eri9brcMk,730
11
11
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
12
12
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
13
13
  ultralytics/cfg/__init__.py,sha256=eZ7exHSsrTLY72atmmHKatJgJYLjfZDPXMWVmpZF9Qw,39683
@@ -104,7 +104,7 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=8fM3y4TXKKT_5aWsqmQw5JEgwNlBGlRaf8L
104
104
  ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
105
105
  ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
106
106
  ultralytics/data/annotator.py,sha256=VEwb11FsEZm75qlEp8XDHFGKW0_rGsEaFDaBVd771Kw,2902
107
- ultralytics/data/augment.py,sha256=m0haieHkMrpe-nEApapfR4mEuOnCw8I4k-tvTVJpOnU,129172
107
+ ultralytics/data/augment.py,sha256=hAnd6yvlauJYk0Ek3_rTPc0RC8sTUfTk_GogMeH61MA,129231
108
108
  ultralytics/data/base.py,sha256=uMh_xzs6ci1hciDLpbVW2ZQr7js0o8jctE8KhL2T7Z4,19015
109
109
  ultralytics/data/build.py,sha256=FVIkgLGv5n1C7SRDrQiKOMDcI7V59WmEihKslzvEISg,9651
110
110
  ultralytics/data/converter.py,sha256=znXH2XTdo0Q4NDHMny1ydVBvrxKn2kbbwI-X5bn1MlQ,26890
@@ -118,7 +118,7 @@ ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J
118
118
  ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
119
119
  ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
120
120
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
121
- ultralytics/engine/exporter.py,sha256=d-L46TSA2U36k6LowP1t1DJqXWndsvNVxXR54a70V8Y,69771
121
+ ultralytics/engine/exporter.py,sha256=ulSbSps_TVi6LI4HrNpqloCRFTN6bNcJgc0O7FjyF0k,69984
122
122
  ultralytics/engine/model.py,sha256=wS1cwgv0iyhsslMAZYMGlYDWitDIRW96d7MxwW-Sw5o,52817
123
123
  ultralytics/engine/predictor.py,sha256=YJ5l-0qIpr6JAJxowswtZ0IqmXBqVTvAA9vR40v0sCM,21752
124
124
  ultralytics/engine/results.py,sha256=MZkhI0CCOkBQPR-EzswymVqvqeyk35EkESGUQ_08r8k,79738
@@ -160,7 +160,7 @@ ultralytics/models/sam/modules/tiny_encoder.py,sha256=p6386bsmIwgZq1wfV7h6dcnI69
160
160
  ultralytics/models/sam/modules/transformer.py,sha256=YRhoriZ-j37kxq19kArfv2DSOz2Jj9DAbs2mcOBVORw,14674
161
161
  ultralytics/models/sam/modules/utils.py,sha256=3PatFjbgO1uasMZXXLJw23CrjuYTW7BS9NM4aXom-zY,16294
162
162
  ultralytics/models/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
163
- ultralytics/models/utils/loss.py,sha256=4IiyDbxBCm7vRvZuIvXbr0_rCvjOratbqLx4KYaGouw,19986
163
+ ultralytics/models/utils/loss.py,sha256=FShJFvzFBk0HRepRhiSVNz9J-Cq08FxkSNXhLppycI0,19993
164
164
  ultralytics/models/utils/ops.py,sha256=SuBnwwgUTqByNHpufobGLW72yO2cyfZFi14KAFWSjjw,13613
165
165
  ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR5b7zDk,307
166
166
  ultralytics/models/yolo/model.py,sha256=8TbfllTKxvNzr4MlMAFfTV8s-144AUSNUyO_7Ps6aKA,14277
@@ -235,12 +235,12 @@ ultralytics/utils/autobatch.py,sha256=VZTIKLWeFZFwBHJmbiCn3MaxoFp89hLR0DSCR_iLXJ
235
235
  ultralytics/utils/benchmarks.py,sha256=aZse9tetEwjMy2GkdNWZ0WfCgjLfCM3_BkI1qNNQb_w,30377
236
236
  ultralytics/utils/checks.py,sha256=5bkna--ZH4FJDZtgef_K4xgjiKOZqCarTqIE4Z0vwJU,32628
237
237
  ultralytics/utils/dist.py,sha256=e-DK_YowV7D9rDGQyWR9Kaosxp2eWe2EogSWnnUMthc,4098
238
- ultralytics/utils/downloads.py,sha256=d9m7VJKl_grFf0R-oYDrOa-vkSyaP9ucjfMILMB5Ly4,22153
238
+ ultralytics/utils/downloads.py,sha256=IvHng2-bApoyi-QMvesGwMmFNqEFiXPIKiiW16Q-U4M,22220
239
239
  ultralytics/utils/errors.py,sha256=vY9h2evFSrHnZdHJVVrmm8Zzw4qVDLyo9DeYW5g0dFk,1573
240
- ultralytics/utils/export.py,sha256=mTkebwilsT1jwIfTLgAQdkbrnZr9Sm96W-Vi7B1j5wQ,8817
240
+ ultralytics/utils/export.py,sha256=1MgT6rSuofvLRR-J01EQvfHylzyO_b5BDM13imypQzA,8814
241
241
  ultralytics/utils/files.py,sha256=0K4O1cgqRiXaDw7EQK13TqA5SME_RrvfDVQSPetNr5w,8042
242
242
  ultralytics/utils/instance.py,sha256=UOEsXR9V-bXNRk6BTonASBEgeMqvzzAk4S7VdXZJUAM,18090
243
- ultralytics/utils/loss.py,sha256=s9LT-zz1zc81Kak0xt1O5HQlv8z0Br-EvudklYs6A6E,37501
243
+ ultralytics/utils/loss.py,sha256=zIDWS_0AOH-yEYLcsfmFRUkApPIZhu2ENsB0UwJYIuw,37607
244
244
  ultralytics/utils/metrics.py,sha256=uv5O-2Ft8wYfTvDedFxiUqMZ6Nr2CL6I9ybGZiK3e2s,53773
245
245
  ultralytics/utils/ops.py,sha256=YFwPrKlPcgEmgAWqnJVR0Ccx5NQgp5e3P-YYHwVSP0k,34779
246
246
  ultralytics/utils/patches.py,sha256=6rVT-l8WDp_Py3O-gZdv9t3PnrYRRkrX_lF3mZ1XS8c,4928
@@ -260,9 +260,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=JaI95Cj2kIjUhlEEOiDN0-Drc-fDelLhNI
260
260
  ultralytics/utils/callbacks/raytune.py,sha256=A8amUGpux7dYES-L1iSeMoMXBySGWCD1aUqT7vcG-pU,1284
261
261
  ultralytics/utils/callbacks/tensorboard.py,sha256=jgYnym3cUQFAgN1GzTyO7l3jINtfAh8zhrllDvnLuVQ,5339
262
262
  ultralytics/utils/callbacks/wb.py,sha256=iDRFXI4IIDm8R5OI89DMTmjs8aHLo1HRCLkOFKdaMG4,7507
263
- ultralytics-8.3.120.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
264
- ultralytics-8.3.120.dist-info/METADATA,sha256=mP-Pkx1G9KDrCfpRBMWAJ9MlL1o-sF7NQHVUdXH-xas,37195
265
- ultralytics-8.3.120.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
266
- ultralytics-8.3.120.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
267
- ultralytics-8.3.120.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
268
- ultralytics-8.3.120.dist-info/RECORD,,
263
+ ultralytics-8.3.121.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
264
+ ultralytics-8.3.121.dist-info/METADATA,sha256=0kXipogR0rrObzgEybM38xylBTR9U7g4IxA6cjqpqVs,37195
265
+ ultralytics-8.3.121.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
266
+ ultralytics-8.3.121.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
267
+ ultralytics-8.3.121.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
268
+ ultralytics-8.3.121.dist-info/RECORD,,