ultralytics 8.2.27__py3-none-any.whl → 8.2.28__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.

Potentially problematic release.


This version of ultralytics might be problematic. Click here for more details.

ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.27"
3
+ __version__ = "8.2.28"
4
4
 
5
5
  import os
6
6
 
@@ -184,7 +184,7 @@ class AutoBackend(nn.Module):
184
184
  LOGGER.info(f"Loading {w} for ONNX Runtime inference...")
185
185
  check_requirements(("onnx", "onnxruntime-gpu" if cuda else "onnxruntime"))
186
186
  if IS_RASPBERRYPI or IS_JETSON:
187
- # Fix error: module 'numpy.linalg._umath_linalg' has no attribute '_ilp64' when exporting to Tensorflow SavedModel on RPi and Jetson
187
+ # Fix 'numpy.linalg._umath_linalg' has no attribute '_ilp64' for TF SavedModel on RPi and Jetson
188
188
  check_requirements("numpy==1.23.5")
189
189
  import onnxruntime
190
190
 
@@ -620,6 +620,8 @@ class AutoBackend(nn.Module):
620
620
  Args:
621
621
  imgsz (tuple): The shape of the dummy input tensor in the format (batch_size, channels, height, width)
622
622
  """
623
+ import torchvision # noqa (import here so torchvision import time not recorded in postprocess time)
624
+
623
625
  warmup_types = self.pt, self.jit, self.onnx, self.engine, self.saved_model, self.pb, self.triton, self.nn_module
624
626
  if any(warmup_types) and (self.device.type != "cpu" or self.triton):
625
627
  im = torch.empty(*imgsz, dtype=torch.half if self.fp16 else torch.float, device=self.device) # input
ultralytics/nn/tasks.py CHANGED
@@ -157,7 +157,7 @@ class BaseModel(nn.Module):
157
157
  None
158
158
  """
159
159
  c = m == self.model[-1] and isinstance(x, list) # is final layer list, copy input as inplace fix
160
- flops = thop.profile(m, inputs=[x.copy() if c else x], verbose=False)[0] / 1e9 * 2 if thop else 0 # FLOPs
160
+ flops = thop.profile(m, inputs=[x.copy() if c else x], verbose=False)[0] / 1e9 * 2 if thop else 0 # GFLOPs
161
161
  t = time_sync()
162
162
  for _ in range(10):
163
163
  m(x.copy() if c else x)
ultralytics/utils/ops.py CHANGED
@@ -402,7 +402,7 @@ def xyxy2xywh(x):
402
402
  def xywh2xyxy(x):
403
403
  """
404
404
  Convert bounding box coordinates from (x, y, width, height) format to (x1, y1, x2, y2) format where (x1, y1) is the
405
- top-left corner and (x2, y2) is the bottom-right corner.
405
+ top-left corner and (x2, y2) is the bottom-right corner. Note: ops per 2 channels faster than per channel.
406
406
 
407
407
  Args:
408
408
  x (np.ndarray | torch.Tensor): The input bounding box coordinates in (x, y, width, height) format.
@@ -412,12 +412,10 @@ def xywh2xyxy(x):
412
412
  """
413
413
  assert x.shape[-1] == 4, f"input shape last dimension expected 4 but input shape is {x.shape}"
414
414
  y = torch.empty_like(x) if isinstance(x, torch.Tensor) else np.empty_like(x) # faster than clone/copy
415
- dw = x[..., 2] / 2 # half-width
416
- dh = x[..., 3] / 2 # half-height
417
- y[..., 0] = x[..., 0] - dw # top left x
418
- y[..., 1] = x[..., 1] - dh # top left y
419
- y[..., 2] = x[..., 0] + dw # bottom right x
420
- y[..., 3] = x[..., 1] + dh # bottom right y
415
+ xy = x[..., :2] # centers
416
+ wh = x[..., 2:] / 2 # half width-height
417
+ y[..., :2] = xy - wh # top left xy
418
+ y[..., 2:] = xy + wh # bottom right xy
421
419
  return y
422
420
 
423
421
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.27
3
+ Version: 8.2.28
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -41,9 +41,9 @@ Requires-Dist: torchvision >=0.9.0
41
41
  Requires-Dist: tqdm >=4.64.0
42
42
  Requires-Dist: psutil
43
43
  Requires-Dist: py-cpuinfo
44
- Requires-Dist: thop >=0.1.1
45
44
  Requires-Dist: pandas >=1.1.4
46
45
  Requires-Dist: seaborn >=0.11.0
46
+ Requires-Dist: ultralytics-thop >=0.2.5
47
47
  Provides-Extra: dev
48
48
  Requires-Dist: ipython ; extra == 'dev'
49
49
  Requires-Dist: check-manifest ; extra == 'dev'
@@ -56,7 +56,7 @@ Requires-Dist: mkdocs-material >=9.5.9 ; extra == 'dev'
56
56
  Requires-Dist: mkdocstrings[python] ; extra == 'dev'
57
57
  Requires-Dist: mkdocs-jupyter ; extra == 'dev'
58
58
  Requires-Dist: mkdocs-redirects ; extra == 'dev'
59
- Requires-Dist: mkdocs-ultralytics-plugin >=0.0.44 ; extra == 'dev'
59
+ Requires-Dist: mkdocs-ultralytics-plugin >=0.0.45 ; extra == 'dev'
60
60
  Provides-Extra: explorer
61
61
  Requires-Dist: lancedb ; extra == 'explorer'
62
62
  Requires-Dist: duckdb <=0.9.2 ; extra == 'explorer'
@@ -7,7 +7,7 @@ tests/test_explorer.py,sha256=r1pWer2y290Y0DqsM-La7egfEY0497YCdC4rwq3URV4,2178
7
7
  tests/test_exports.py,sha256=qc4YOgsGixqYLO6IRNY16-v6z14R0dp5fdni1v222xw,8034
8
8
  tests/test_integrations.py,sha256=8Ru7GyKV8j44EEc8X9_E7q7aR4CTOIMPuSagXjSGUxw,5847
9
9
  tests/test_python.py,sha256=3qV963KPGGnYwSiEG5YcDf6g_ozo3NtQEjDDtH32rV4,20212
10
- ultralytics/__init__.py,sha256=9lgJTJTMVbv_Y67eEbEFa_KC-wW_1I99noo9PENPhlg,694
10
+ ultralytics/__init__.py,sha256=0S-iaHYl_uqmYkRirvMogGZSr7NysGoQfg5DKdfm6Gc,694
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=lR6jykSO_0cigsjrqSyFj_8JG_LvYi796viasyWhcfs,21358
@@ -155,8 +155,8 @@ ultralytics/models/yolo/world/__init__.py,sha256=3VTH0q4NOt2EWRom15yCymvmvm0Etp2
155
155
  ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WViDstn7npfI,3686
156
156
  ultralytics/models/yolo/world/train_world.py,sha256=ICPsYNbuPkq_qf3FHl2YJ-q3g7ik0pI-zhMpLmHa5-4,4805
157
157
  ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
158
- ultralytics/nn/autobackend.py,sha256=6amaXnbDlvh0kTIbeHV3kIM6X7P1r0T3le1GPxIgkOs,30864
159
- ultralytics/nn/tasks.py,sha256=JK-sKA0RWz612RpVfUI9zeevy4M7Fh6bysbana90wMs,43679
158
+ ultralytics/nn/autobackend.py,sha256=A8KDM59sUY8rJgEQuESCMD_Pr5GwQqcug9Ipc-9rPXA,30938
159
+ ultralytics/nn/tasks.py,sha256=_Ko4Eg88oqs5jNuXeXC3ghDNQz9E08dFgdXzXQ390es,43680
160
160
  ultralytics/nn/modules/__init__.py,sha256=EohTpjqDmi9-ZWu7B9UDyl-esFvv6_S-VvPKNzHK2OU,2351
161
161
  ultralytics/nn/modules/block.py,sha256=smIz3oNTDA7UKrAH5FfSMh08C12-avgWTeIkbgZIv18,25251
162
162
  ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
@@ -192,7 +192,7 @@ ultralytics/utils/files.py,sha256=TVfY0Wi5IsUc4YdsDzC0dAg-jAP5exYvwqB3VmXhDLY,67
192
192
  ultralytics/utils/instance.py,sha256=5daM5nkxBv9hr5QzyII8zmuFj24hHuNtcr4EMCHAtpY,15654
193
193
  ultralytics/utils/loss.py,sha256=ejXnPEIAzNEoNz2UjW0_fcdeUs9Hy-jPzUrJ3FiIIwE,32717
194
194
  ultralytics/utils/metrics.py,sha256=XPD-xP0fchR8KgCuTcihV2-n0EK1cWi3-53BWN_pLuA,53518
195
- ultralytics/utils/ops.py,sha256=5E6S_aYSg4OjNd9c-mpdbHkW-MMIWu9dNmlIdJmF9wE,33123
195
+ ultralytics/utils/ops.py,sha256=GVd4DXjD5dmAmgOL9I78mchaAkTAf7j6288NMOlaGN4,33070
196
196
  ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
197
197
  ultralytics/utils/plotting.py,sha256=47mfSDCP7Pt3jT_IlgnIwIH3wcBeSh04lbzep_F2wPc,48207
198
198
  ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
@@ -210,9 +210,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
210
210
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
211
211
  ultralytics/utils/callbacks/tensorboard.py,sha256=Z1veCVcn9THPhdplWuIzwlsW2yF7y-On9IZIk3khM0Y,4135
212
212
  ultralytics/utils/callbacks/wb.py,sha256=DViD0KeXH_i3eVT_CLR4bZFs1TMMUZBVBBYIS3aUfp0,6745
213
- ultralytics-8.2.27.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
214
- ultralytics-8.2.27.dist-info/METADATA,sha256=e_OAAn54qG7kXEU1jhJkvEPvNzOKlK8jkWuERxkGgt4,41200
215
- ultralytics-8.2.27.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
216
- ultralytics-8.2.27.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
217
- ultralytics-8.2.27.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
218
- ultralytics-8.2.27.dist-info/RECORD,,
213
+ ultralytics-8.2.28.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
214
+ ultralytics-8.2.28.dist-info/METADATA,sha256=hkmfW3-EfdKRsFpXfXPIe_BmLcpk5yjor9rSeICqMTo,41212
215
+ ultralytics-8.2.28.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
216
+ ultralytics-8.2.28.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
217
+ ultralytics-8.2.28.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
218
+ ultralytics-8.2.28.dist-info/RECORD,,