ultralytics 8.2.6__py3-none-any.whl → 8.2.7__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.6"
3
+ __version__ = "8.2.7"
4
4
 
5
5
  from ultralytics.data.explorer.explorer import Explorer
6
6
  from ultralytics.models import RTDETR, SAM, YOLO, YOLOWorld
ultralytics/data/build.py CHANGED
@@ -20,7 +20,7 @@ from ultralytics.data.loaders import (
20
20
  autocast_list,
21
21
  )
22
22
  from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS
23
- from ultralytics.utils import RANK, colorstr
23
+ from ultralytics.utils import NUM_THREADS, RANK, colorstr
24
24
  from ultralytics.utils.checks import check_file
25
25
 
26
26
  from .dataset import GroundingDataset, YOLODataset, YOLOMultiModalDataset
@@ -81,6 +81,7 @@ def seed_worker(worker_id): # noqa
81
81
  worker_seed = torch.initial_seed() % 2**32
82
82
  np.random.seed(worker_seed)
83
83
  random.seed(worker_seed)
84
+ os.sched_setaffinity(0, range(NUM_THREADS)) # fix https://github.com/ultralytics/ultralytics/pull/11195
84
85
 
85
86
 
86
87
  def build_yolo_dataset(cfg, img_path, batch, data, mode="train", rect=False, stride=32, multi_modal=False):
@@ -414,7 +414,7 @@ class Exporter:
414
414
  @try_export
415
415
  def export_openvino(self, prefix=colorstr("OpenVINO:")):
416
416
  """YOLOv8 OpenVINO export."""
417
- check_requirements("openvino>=2024.0.0") # requires openvino: https://pypi.org/project/openvino/
417
+ check_requirements(f'openvino{"<=2024.0.0" if ARM64 else ">=2024.0.0"}') # fix OpenVINO issue on ARM64
418
418
  import openvino as ov
419
419
 
420
420
  LOGGER.info(f"\n{prefix} starting export with openvino {ov.__version__}...")
@@ -98,7 +98,6 @@ class Segment(Detect):
98
98
  self.nm = nm # number of masks
99
99
  self.npr = npr # number of protos
100
100
  self.proto = Proto(ch[0], self.npr, self.nm) # protos
101
- self.detect = Detect.forward
102
101
 
103
102
  c4 = max(ch[0] // 4, self.nm)
104
103
  self.cv4 = nn.ModuleList(nn.Sequential(Conv(x, c4, 3), Conv(c4, c4, 3), nn.Conv2d(c4, self.nm, 1)) for x in ch)
@@ -109,7 +108,7 @@ class Segment(Detect):
109
108
  bs = p.shape[0] # batch size
110
109
 
111
110
  mc = torch.cat([self.cv4[i](x[i]).view(bs, self.nm, -1) for i in range(self.nl)], 2) # mask coefficients
112
- x = self.detect(self, x)
111
+ x = Detect.forward(self, x)
113
112
  if self.training:
114
113
  return x, mc, p
115
114
  return (torch.cat([x, mc], 1), p) if self.export else (torch.cat([x[0], mc], 1), (x[1], mc, p))
@@ -122,7 +121,6 @@ class OBB(Detect):
122
121
  """Initialize OBB with number of classes `nc` and layer channels `ch`."""
123
122
  super().__init__(nc, ch)
124
123
  self.ne = ne # number of extra parameters
125
- self.detect = Detect.forward
126
124
 
127
125
  c4 = max(ch[0] // 4, self.ne)
128
126
  self.cv4 = nn.ModuleList(nn.Sequential(Conv(x, c4, 3), Conv(c4, c4, 3), nn.Conv2d(c4, self.ne, 1)) for x in ch)
@@ -136,7 +134,7 @@ class OBB(Detect):
136
134
  # angle = angle.sigmoid() * math.pi / 2 # [0, pi/2]
137
135
  if not self.training:
138
136
  self.angle = angle
139
- x = self.detect(self, x)
137
+ x = Detect.forward(self, x)
140
138
  if self.training:
141
139
  return x, angle
142
140
  return torch.cat([x, angle], 1) if self.export else (torch.cat([x[0], angle], 1), (x[1], angle))
@@ -154,7 +152,6 @@ class Pose(Detect):
154
152
  super().__init__(nc, ch)
155
153
  self.kpt_shape = kpt_shape # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
156
154
  self.nk = kpt_shape[0] * kpt_shape[1] # number of keypoints total
157
- self.detect = Detect.forward
158
155
 
159
156
  c4 = max(ch[0] // 4, self.nk)
160
157
  self.cv4 = nn.ModuleList(nn.Sequential(Conv(x, c4, 3), Conv(c4, c4, 3), nn.Conv2d(c4, self.nk, 1)) for x in ch)
@@ -163,7 +160,7 @@ class Pose(Detect):
163
160
  """Perform forward pass through YOLO model and return predictions."""
164
161
  bs = x[0].shape[0] # batch size
165
162
  kpt = torch.cat([self.cv4[i](x[i]).view(bs, self.nk, -1) for i in range(self.nl)], -1) # (bs, 17*3, h*w)
166
- x = self.detect(self, x)
163
+ x = Detect.forward(self, x)
167
164
  if self.training:
168
165
  return x, kpt
169
166
  pred_kpt = self.kpts_decode(bs, kpt)
@@ -36,7 +36,7 @@ FILE = Path(__file__).resolve()
36
36
  ROOT = FILE.parents[1] # YOLO
37
37
  ASSETS = ROOT / "assets" # default images
38
38
  DEFAULT_CFG_PATH = ROOT / "cfg/default.yaml"
39
- NUM_THREADS = min(8, max(1, os.cpu_count() - 1)) # number of YOLOv5 multiprocessing threads
39
+ NUM_THREADS = min(8, max(1, os.cpu_count() - 1)) # number of YOLO multiprocessing threads
40
40
  AUTOINSTALL = str(os.getenv("YOLO_AUTOINSTALL", True)).lower() == "true" # global auto-install mode
41
41
  VERBOSE = str(os.getenv("YOLO_VERBOSE", True)).lower() == "true" # global verbose mode
42
42
  TQDM_BAR_FORMAT = "{l_bar}{bar:10}{r_bar}" if VERBOSE else None # tqdm bar format
@@ -419,7 +419,14 @@ def check_torchvision():
419
419
  """
420
420
 
421
421
  # Compatibility table
422
- compatibility_table = {"2.0": ["0.15"], "1.13": ["0.14"], "1.12": ["0.13"]}
422
+ compatibility_table = {
423
+ "2.3": ["0.18"],
424
+ "2.2": ["0.17"],
425
+ "2.1": ["0.16"],
426
+ "2.0": ["0.15"],
427
+ "1.13": ["0.14"],
428
+ "1.12": ["0.13"],
429
+ }
423
430
 
424
431
  # Extract only the major and minor versions
425
432
  v_torch = ".".join(torch.__version__.split("+")[0].split(".")[:2])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.6
3
+ Version: 8.2.7
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
@@ -64,6 +64,7 @@ Requires-Dist: streamlit ; extra == 'explorer'
64
64
  Provides-Extra: export
65
65
  Requires-Dist: onnx >=1.12.0 ; extra == 'export'
66
66
  Requires-Dist: openvino >=2024.0.0 ; extra == 'export'
67
+ Requires-Dist: flatbuffers <100,>=23.5.26 ; (platform_machine == "aarch64") and extra == 'export'
67
68
  Requires-Dist: numpy ==1.23.5 ; (platform_machine == "aarch64") and extra == 'export'
68
69
  Requires-Dist: h5py !=3.11.0 ; (platform_machine == "aarch64") and extra == 'export'
69
70
  Requires-Dist: coremltools >=7.0 ; (platform_system != "Windows" and python_version <= "3.11") and extra == 'export'
@@ -1,4 +1,4 @@
1
- ultralytics/__init__.py,sha256=EE1lQhKQv1xbvnB5weIqkbDBsm3fntYHC7AnQV7wYK8,632
1
+ ultralytics/__init__.py,sha256=7Rhmhx0uNSy56-6iosDmmMJM-jQBRfTt9ruZCAW7UjU,632
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=4ZnvY2ULMGofFhjaRIzKQlGC5YVkvWkEAYAhnsKC1Po,21312
@@ -66,7 +66,7 @@ ultralytics/data/__init__.py,sha256=VGe-ATG7j35F4A4r8Jmzffjlhve4JAJPgRa5ahKTU18,
66
66
  ultralytics/data/annotator.py,sha256=evXQzARVerc0hb9ol-n_GrrHf-dlXO4lCMMWEZoJ2UM,2117
67
67
  ultralytics/data/augment.py,sha256=81BOqY4DzxuNfw6Qg7rjBQTktU4JK2GHolXIhzXnAHg,57741
68
68
  ultralytics/data/base.py,sha256=9dZcoXtczloWSsbU-sOa9NlJ7lIGoarEUAp2rzP1jMI,13481
69
- ultralytics/data/build.py,sha256=NhETn_nGGEey8Dv8QOgro_j-KutfRCWyNHifEhqh_U4,7266
69
+ ultralytics/data/build.py,sha256=0FQJFxv7IxUt1Q_ghl3JGuXTzbq-nkM_e85T5KFptvE,7388
70
70
  ultralytics/data/converter.py,sha256=NLDiV67RshbKQnMJUiQQF11boVzEqgi2Hz39nKVAI4U,17528
71
71
  ultralytics/data/dataset.py,sha256=NFaXyHRn64TyTEbtSkr7SkqWXK8bEJl6lZ6M1JwO3MY,22201
72
72
  ultralytics/data/loaders.py,sha256=UxNLLV6rwUDog9MSOkHpDn52TO-X2g2P4a5ZwvB7Ii8,23142
@@ -78,7 +78,7 @@ ultralytics/data/explorer/utils.py,sha256=EvvukQiQUTBrsZznmMnyEX2EqTuwZo_Geyc8yf
78
78
  ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
79
79
  ultralytics/data/explorer/gui/dash.py,sha256=2oAbNroR2lfS45v53M1sRqZklLXbbj6qXqNxvplulC0,10087
80
80
  ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
81
- ultralytics/engine/exporter.py,sha256=CqVXwRRTs5g07-X-y9RQzdjj8WI4KMXURyQFOHGopww,54600
81
+ ultralytics/engine/exporter.py,sha256=5dgkElp8YfZXWp6yOXPLVVD650atg59UbWoFtpKgtPo,54606
82
82
  ultralytics/engine/model.py,sha256=4zSVSBP8Ex49bJjnOXm7g3Qr_NgbplHPCjdnVfZwfxM,40019
83
83
  ultralytics/engine/predictor.py,sha256=wQRKdWGDTP5A6CS0gTC6U3RPDMhP3QkEzWSPm6eqCkU,17022
84
84
  ultralytics/engine/results.py,sha256=MvrOBrBlRF7kbL-QwysMf9mIDy_lwQBTTYvy1x1FMME,30667
@@ -150,7 +150,7 @@ ultralytics/nn/tasks.py,sha256=a3FSkIUErlE7qI506ye5vGggqzMxqXWDkIbbLD4AGyI,43623
150
150
  ultralytics/nn/modules/__init__.py,sha256=KzLoyn2ldfReiQL8H8xsMC49Xvtb8Kv9ikE5Q3OBoAs,2326
151
151
  ultralytics/nn/modules/block.py,sha256=smIz3oNTDA7UKrAH5FfSMh08C12-avgWTeIkbgZIv18,25251
152
152
  ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
153
- ultralytics/nn/modules/head.py,sha256=D3WOkBy1GLVy2ZwrM0O7FvjKafOtyVVMiICzeTM-khA,22338
153
+ ultralytics/nn/modules/head.py,sha256=3N_4zW1UvhI1jCrIxIkNYxQDdiW6HxtxpaNAAudq6NU,22236
154
154
  ultralytics/nn/modules/transformer.py,sha256=AxD9uURpCl-EqvXe3DiG6JW-pBzB16G-AahLdZ7yayo,17909
155
155
  ultralytics/nn/modules/utils.py,sha256=779QnnKp9v8jv251ESduTXJ0ol8HkIOLbGQWwEGQjhU,3196
156
156
  ultralytics/solutions/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
@@ -170,10 +170,10 @@ ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7J
170
170
  ultralytics/trackers/utils/gmc.py,sha256=vwcPA1n5zjPaBGhCDt8ItN7rq_6Sczsjn4gsXJfRylU,13688
171
171
  ultralytics/trackers/utils/kalman_filter.py,sha256=0oqhk59NKEiwcJ2FXnw6_sT4bIFC6Wu5IY2B-TGxJKU,15168
172
172
  ultralytics/trackers/utils/matching.py,sha256=UxhSGa5pN6WoYwYSBAkkt-O7xMxUR47VuUB6PfVNkb4,5404
173
- ultralytics/utils/__init__.py,sha256=BdmRL2UhbmzmWuhaB1iDUTOyQ3fTwOrB0aUijAgpOUg,39286
173
+ ultralytics/utils/__init__.py,sha256=zyk1cbMtgG8LB9s1FRKRaN2ffMlkKQcVWnhGj1EPP5Y,39284
174
174
  ultralytics/utils/autobatch.py,sha256=ygZ3f2ByIkcujB89ENcTnGWWnAQw5Pbg6nBuShg-5t4,3863
175
175
  ultralytics/utils/benchmarks.py,sha256=l9SHatEr4itinf9R77bunBpNqrTI2S_qaPB3K2oAYRg,23470
176
- ultralytics/utils/checks.py,sha256=UDrcHiTMjSHSyUZflTRGuyYRj0uz9-RQ-xfDq_lsXZo,27971
176
+ ultralytics/utils/checks.py,sha256=kwHcB_o8-bieQV2NNNZe2d37QSXyBdIN6XaMlARTUEE,28077
177
177
  ultralytics/utils/dist.py,sha256=3HeNbY2gp7vYhcvVhsrvTrQXpQmgT8tpmnzApf3eQRA,2267
178
178
  ultralytics/utils/downloads.py,sha256=Rx32imHkKyVltEDMiCtCT2N5aA9Cud_0PyIUoTh4ru0,21496
179
179
  ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
@@ -199,9 +199,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
199
199
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
200
200
  ultralytics/utils/callbacks/tensorboard.py,sha256=Z1veCVcn9THPhdplWuIzwlsW2yF7y-On9IZIk3khM0Y,4135
201
201
  ultralytics/utils/callbacks/wb.py,sha256=woCQVuZzqtM5KnwxIibcfM3sFBYojeMPnv11jrRaIQA,6674
202
- ultralytics-8.2.6.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
203
- ultralytics-8.2.6.dist-info/METADATA,sha256=p3vEITZwG8diV7xRVxvELADuJmwzMLCa06dOhE4XSJQ,40595
204
- ultralytics-8.2.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
205
- ultralytics-8.2.6.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
206
- ultralytics-8.2.6.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
207
- ultralytics-8.2.6.dist-info/RECORD,,
202
+ ultralytics-8.2.7.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
203
+ ultralytics-8.2.7.dist-info/METADATA,sha256=lBAKCAa8MAMWFFD5KexR6aCHW4rdMvXl5qIo53jJL3A,40693
204
+ ultralytics-8.2.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
205
+ ultralytics-8.2.7.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
206
+ ultralytics-8.2.7.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
207
+ ultralytics-8.2.7.dist-info/RECORD,,