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 +1 -1
- ultralytics/data/build.py +2 -1
- ultralytics/engine/exporter.py +1 -1
- ultralytics/nn/modules/head.py +3 -6
- ultralytics/utils/__init__.py +1 -1
- ultralytics/utils/checks.py +8 -1
- {ultralytics-8.2.6.dist-info → ultralytics-8.2.7.dist-info}/METADATA +2 -1
- {ultralytics-8.2.6.dist-info → ultralytics-8.2.7.dist-info}/RECORD +12 -12
- {ultralytics-8.2.6.dist-info → ultralytics-8.2.7.dist-info}/LICENSE +0 -0
- {ultralytics-8.2.6.dist-info → ultralytics-8.2.7.dist-info}/WHEEL +0 -0
- {ultralytics-8.2.6.dist-info → ultralytics-8.2.7.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.2.6.dist-info → ultralytics-8.2.7.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
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):
|
ultralytics/engine/exporter.py
CHANGED
|
@@ -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("
|
|
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__}...")
|
ultralytics/nn/modules/head.py
CHANGED
|
@@ -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 =
|
|
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 =
|
|
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 =
|
|
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)
|
ultralytics/utils/__init__.py
CHANGED
|
@@ -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
|
|
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
|
ultralytics/utils/checks.py
CHANGED
|
@@ -419,7 +419,14 @@ def check_torchvision():
|
|
|
419
419
|
"""
|
|
420
420
|
|
|
421
421
|
# Compatibility table
|
|
422
|
-
compatibility_table = {
|
|
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.
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
203
|
-
ultralytics-8.2.
|
|
204
|
-
ultralytics-8.2.
|
|
205
|
-
ultralytics-8.2.
|
|
206
|
-
ultralytics-8.2.
|
|
207
|
-
ultralytics-8.2.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|