ultralytics 8.3.111__py3-none-any.whl → 8.3.112__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 +1 -1
- ultralytics/cfg/__init__.py +14 -16
- ultralytics/cfg/datasets/coco8-multispectral.yaml +104 -0
- ultralytics/data/augment.py +16 -6
- ultralytics/data/base.py +24 -26
- ultralytics/data/converter.py +52 -3
- ultralytics/data/dataset.py +5 -5
- ultralytics/data/loaders.py +7 -9
- ultralytics/data/split.py +123 -0
- ultralytics/data/utils.py +34 -52
- ultralytics/engine/exporter.py +22 -24
- ultralytics/engine/model.py +3 -6
- ultralytics/engine/predictor.py +5 -3
- ultralytics/engine/results.py +7 -7
- ultralytics/engine/trainer.py +4 -5
- ultralytics/engine/tuner.py +1 -1
- ultralytics/engine/validator.py +4 -4
- ultralytics/hub/auth.py +1 -1
- ultralytics/hub/session.py +3 -3
- ultralytics/models/rtdetr/train.py +1 -22
- ultralytics/models/sam/modules/sam.py +2 -1
- ultralytics/models/yolo/classify/train.py +1 -1
- ultralytics/models/yolo/detect/train.py +2 -2
- ultralytics/models/yolo/detect/val.py +1 -1
- ultralytics/models/yolo/obb/train.py +1 -1
- ultralytics/models/yolo/pose/predict.py +1 -1
- ultralytics/models/yolo/pose/train.py +4 -2
- ultralytics/models/yolo/pose/val.py +1 -1
- ultralytics/models/yolo/segment/train.py +1 -1
- ultralytics/models/yolo/segment/val.py +1 -1
- ultralytics/models/yolo/world/train.py +1 -1
- ultralytics/models/yolo/world/train_world.py +1 -0
- ultralytics/models/yolo/yoloe/train.py +2 -2
- ultralytics/models/yolo/yoloe/train_seg.py +2 -2
- ultralytics/nn/autobackend.py +7 -4
- ultralytics/nn/tasks.py +11 -11
- ultralytics/solutions/instance_segmentation.py +1 -1
- ultralytics/solutions/object_blurrer.py +1 -1
- ultralytics/solutions/object_cropper.py +2 -2
- ultralytics/solutions/parking_management.py +1 -1
- ultralytics/solutions/security_alarm.py +1 -1
- ultralytics/solutions/solutions.py +3 -6
- ultralytics/trackers/byte_tracker.py +1 -1
- ultralytics/trackers/utils/gmc.py +4 -4
- ultralytics/utils/__init__.py +28 -21
- ultralytics/utils/autobatch.py +4 -4
- ultralytics/utils/benchmarks.py +8 -8
- ultralytics/utils/callbacks/clearml.py +1 -1
- ultralytics/utils/callbacks/comet.py +5 -5
- ultralytics/utils/callbacks/dvc.py +1 -1
- ultralytics/utils/callbacks/mlflow.py +2 -1
- ultralytics/utils/callbacks/neptune.py +1 -1
- ultralytics/utils/callbacks/tensorboard.py +7 -9
- ultralytics/utils/checks.py +20 -26
- ultralytics/utils/downloads.py +4 -4
- ultralytics/utils/export.py +1 -1
- ultralytics/utils/metrics.py +1 -1
- ultralytics/utils/ops.py +1 -1
- ultralytics/utils/patches.py +8 -1
- ultralytics/utils/plotting.py +27 -29
- ultralytics/utils/tal.py +1 -1
- ultralytics/utils/torch_utils.py +4 -4
- ultralytics/utils/tuner.py +2 -2
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.112.dist-info}/METADATA +1 -1
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.112.dist-info}/RECORD +69 -67
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.112.dist-info}/WHEEL +1 -1
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.112.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.112.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.112.dist-info}/top_level.txt +0 -0
ultralytics/utils/plotting.py
CHANGED
@@ -184,7 +184,9 @@ class Annotator:
|
|
184
184
|
self.lw = line_width or max(round(sum(im.size if input_is_pil else im.shape) / 2 * 0.003), 2)
|
185
185
|
if self.pil: # use PIL
|
186
186
|
self.im = im if input_is_pil else Image.fromarray(im)
|
187
|
-
self.
|
187
|
+
if self.im.mode not in {"RGB", "RGBA"}: # multispectral
|
188
|
+
self.im = self.im.convert("RGB")
|
189
|
+
self.draw = ImageDraw.Draw(self.im, "RGBA")
|
188
190
|
try:
|
189
191
|
font = check_font("Arial.Unicode.ttf" if non_ascii else font)
|
190
192
|
size = font_size or max(round(sum(self.im.size) / 2 * 0.035), 12)
|
@@ -195,6 +197,8 @@ class Annotator:
|
|
195
197
|
if check_version(pil_version, "9.2.0"):
|
196
198
|
self.font.getsize = lambda x: self.font.getbbox(x)[2:4] # text width, height
|
197
199
|
else: # use cv2
|
200
|
+
if im.shape[2] > 3: # multispectral
|
201
|
+
im = np.ascontiguousarray(im[..., :3])
|
198
202
|
assert im.data.contiguous, "Image not contiguous. Apply np.ascontiguousarray(im) to Annotator input images."
|
199
203
|
self.im = im if im.flags.writeable else im.copy()
|
200
204
|
self.tf = max(self.lw - 1, 1) # font thickness
|
@@ -309,7 +313,7 @@ class Annotator:
|
|
309
313
|
(p1[0], p1[1] - h if outside else p1[1], p1[0] + w + 1, p1[1] + 1 if outside else p1[1] + h + 1),
|
310
314
|
fill=color,
|
311
315
|
)
|
312
|
-
# self.draw.text(
|
316
|
+
# self.draw.text([box[0], box[1]], label, fill=txt_color, font=self.font, anchor='ls') # for PIL>8.0
|
313
317
|
self.draw.text((p1[0], p1[1] - h if outside else p1[1]), label, fill=txt_color, font=self.font)
|
314
318
|
else: # cv2
|
315
319
|
if rotated:
|
@@ -437,7 +441,7 @@ class Annotator:
|
|
437
441
|
"""Add rectangle to image (PIL-only)."""
|
438
442
|
self.draw.rectangle(xy, fill, outline, width)
|
439
443
|
|
440
|
-
def text(self, xy, text, txt_color=(255, 255, 255), anchor="top",
|
444
|
+
def text(self, xy, text, txt_color=(255, 255, 255), anchor="top", box_color=()):
|
441
445
|
"""
|
442
446
|
Add text to an image using PIL or cv2.
|
443
447
|
|
@@ -446,34 +450,26 @@ class Annotator:
|
|
446
450
|
text (str): Text to be drawn.
|
447
451
|
txt_color (tuple, optional): Text color (R, G, B).
|
448
452
|
anchor (str, optional): Text anchor position ('top' or 'bottom').
|
449
|
-
|
453
|
+
box_color (tuple, optional): Box color (R, G, B, A) with optional alpha.
|
450
454
|
"""
|
451
|
-
if anchor == "bottom": # start y from font bottom
|
452
|
-
w, h = self.font.getsize(text) # text width, height
|
453
|
-
xy[1] += 1 - h
|
454
455
|
if self.pil:
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
xy[1] += h
|
466
|
-
else:
|
467
|
-
self.draw.text(xy, text, fill=txt_color, font=self.font)
|
456
|
+
w, h = self.font.getsize(text)
|
457
|
+
if anchor == "bottom": # start y from font bottom
|
458
|
+
xy[1] += 1 - h
|
459
|
+
for line in text.split("\n"):
|
460
|
+
if box_color:
|
461
|
+
# Draw rectangle for each line
|
462
|
+
w, h = self.font.getsize(line)
|
463
|
+
self.draw.rectangle((xy[0], xy[1], xy[0] + w + 1, xy[1] + h + 1), fill=box_color)
|
464
|
+
self.draw.text(xy, line, fill=txt_color, font=self.font)
|
465
|
+
xy[1] += h
|
468
466
|
else:
|
469
|
-
if
|
470
|
-
w, h = cv2.getTextSize(text, 0, fontScale=self.sf, thickness=self.tf)[0]
|
467
|
+
if box_color:
|
468
|
+
w, h = cv2.getTextSize(text, 0, fontScale=self.sf, thickness=self.tf)[0]
|
471
469
|
h += 3 # add pixels to pad text
|
472
470
|
outside = xy[1] >= h # label fits outside box
|
473
471
|
p2 = xy[0] + w, xy[1] - h if outside else xy[1] + h
|
474
|
-
cv2.rectangle(self.im, xy, p2,
|
475
|
-
# Using `txt_color` for background and draw fg with white color
|
476
|
-
txt_color = (255, 255, 255)
|
472
|
+
cv2.rectangle(self.im, xy, p2, box_color, -1, cv2.LINE_AA) # filled
|
477
473
|
cv2.putText(self.im, text, xy, 0, self.sf, txt_color, thickness=self.tf, lineType=cv2.LINE_AA)
|
478
474
|
|
479
475
|
def fromarray(self, im):
|
@@ -691,6 +687,8 @@ def plot_images(
|
|
691
687
|
kpts = kpts.cpu().numpy()
|
692
688
|
if isinstance(batch_idx, torch.Tensor):
|
693
689
|
batch_idx = batch_idx.cpu().numpy()
|
690
|
+
if images.shape[1] > 3:
|
691
|
+
images = images[:, :3] # crop multispectral images to first 3 channels
|
694
692
|
|
695
693
|
bs, _, h, w = images.shape # batch size, _, height, width
|
696
694
|
bs = min(bs, max_subplots) # limit plot images
|
@@ -714,12 +712,12 @@ def plot_images(
|
|
714
712
|
# Annotate
|
715
713
|
fs = int((h + w) * ns * 0.01) # font size
|
716
714
|
fs = max(fs, 18) # ensure that the font size is large enough to be easily readable.
|
717
|
-
annotator = Annotator(mosaic, line_width=round(fs / 10), font_size=fs, pil=True, example=names)
|
715
|
+
annotator = Annotator(mosaic, line_width=round(fs / 10), font_size=fs, pil=True, example=str(names))
|
718
716
|
for i in range(bs):
|
719
717
|
x, y = int(w * (i // ns)), int(h * (i % ns)) # block origin
|
720
718
|
annotator.rectangle([x, y, x + w, y + h], None, (255, 255, 255), width=2) # borders
|
721
719
|
if paths:
|
722
|
-
annotator.text(
|
720
|
+
annotator.text([x + 5, y + 5], text=Path(paths[i]).name[:40], txt_color=(220, 220, 220)) # filenames
|
723
721
|
if len(cls) > 0:
|
724
722
|
idx = batch_idx == i
|
725
723
|
classes = cls[idx].astype("int")
|
@@ -750,7 +748,7 @@ def plot_images(
|
|
750
748
|
for c in classes:
|
751
749
|
color = colors(c)
|
752
750
|
c = names.get(c, c) if names else c
|
753
|
-
annotator.text(
|
751
|
+
annotator.text([x, y], f"{c}", txt_color=color, box_color=(64, 64, 64, 128))
|
754
752
|
|
755
753
|
# Plot keypoints
|
756
754
|
if len(kpts):
|
@@ -854,7 +852,7 @@ def plot_results(file="path/to/results.csv", dir="", segment=False, pose=False,
|
|
854
852
|
# if j in {8, 9, 10}: # share train and val loss y axes
|
855
853
|
# ax[i].get_shared_y_axes().join(ax[i], ax[i - 5])
|
856
854
|
except Exception as e:
|
857
|
-
LOGGER.
|
855
|
+
LOGGER.error(f"Plotting error for {f}: {e}")
|
858
856
|
ax[1].legend()
|
859
857
|
fname = save_dir / "results.png"
|
860
858
|
fig.savefig(fname, dpi=200)
|
ultralytics/utils/tal.py
CHANGED
@@ -77,7 +77,7 @@ class TaskAlignedAssigner(nn.Module):
|
|
77
77
|
return self._forward(pd_scores, pd_bboxes, anc_points, gt_labels, gt_bboxes, mask_gt)
|
78
78
|
except torch.cuda.OutOfMemoryError:
|
79
79
|
# Move tensors to CPU, compute, then move back to original device
|
80
|
-
LOGGER.warning("
|
80
|
+
LOGGER.warning("CUDA OutOfMemoryError in TaskAlignedAssigner, using CPU")
|
81
81
|
cpu_tensors = [t.cpu() for t in (pd_scores, pd_bboxes, anc_points, gt_labels, gt_bboxes, mask_gt)]
|
82
82
|
result = self._forward(*cpu_tensors)
|
83
83
|
return tuple(t.to(device) for t in result)
|
ultralytics/utils/torch_utils.py
CHANGED
@@ -46,7 +46,7 @@ TORCHVISION_0_13 = check_version(TORCHVISION_VERSION, "0.13.0")
|
|
46
46
|
TORCHVISION_0_18 = check_version(TORCHVISION_VERSION, "0.18.0")
|
47
47
|
if WINDOWS and check_version(torch.__version__, "==2.4.0"): # reject version 2.4.0 on Windows
|
48
48
|
LOGGER.warning(
|
49
|
-
"
|
49
|
+
"Known issue with torch==2.4.0 on Windows with CPU, recommend upgrading to torch>=2.4.1 to resolve "
|
50
50
|
"https://github.com/ultralytics/ultralytics/issues/15049"
|
51
51
|
)
|
52
52
|
|
@@ -238,7 +238,7 @@ def time_sync():
|
|
238
238
|
|
239
239
|
|
240
240
|
def fuse_conv_and_bn(conv, bn):
|
241
|
-
"""Fuse Conv2d() and BatchNorm2d() layers
|
241
|
+
"""Fuse Conv2d() and BatchNorm2d() layers."""
|
242
242
|
fusedconv = (
|
243
243
|
nn.Conv2d(
|
244
244
|
conv.in_channels,
|
@@ -604,7 +604,7 @@ def init_seeds(seed=0, deterministic=False):
|
|
604
604
|
os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8"
|
605
605
|
os.environ["PYTHONHASHSEED"] = str(seed)
|
606
606
|
else:
|
607
|
-
LOGGER.warning("
|
607
|
+
LOGGER.warning("Upgrade to torch>=2.0.0 for deterministic training.")
|
608
608
|
else:
|
609
609
|
unset_deterministic()
|
610
610
|
|
@@ -708,7 +708,7 @@ def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "", updates: dict
|
|
708
708
|
assert isinstance(x, dict), "checkpoint is not a Python dictionary"
|
709
709
|
assert "model" in x, "'model' missing from checkpoint"
|
710
710
|
except Exception as e:
|
711
|
-
LOGGER.warning(f"
|
711
|
+
LOGGER.warning(f"Skipping {f}, not a valid Ultralytics model: {e}")
|
712
712
|
return {}
|
713
713
|
|
714
714
|
metadata = {
|
ultralytics/utils/tuner.py
CHANGED
@@ -97,13 +97,13 @@ def run_ray_tune(
|
|
97
97
|
# Get search space
|
98
98
|
if not space and not train_args.get("resume"):
|
99
99
|
space = default_space
|
100
|
-
LOGGER.warning("
|
100
|
+
LOGGER.warning("search space not provided, using default search space.")
|
101
101
|
|
102
102
|
# Get dataset
|
103
103
|
data = train_args.get("data", TASK2DATA[task])
|
104
104
|
space["data"] = data
|
105
105
|
if "data" not in train_args:
|
106
|
-
LOGGER.warning(f'
|
106
|
+
LOGGER.warning(f'data not provided, using default "data={data}".')
|
107
107
|
|
108
108
|
# Define the trainable function with allocated resources
|
109
109
|
trainable_with_resources = tune.with_resources(_tune, {"cpu": NUM_THREADS, "gpu": gpu_per_trial or 0})
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.112
|
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,7 +1,7 @@
|
|
1
|
-
ultralytics/__init__.py,sha256=
|
1
|
+
ultralytics/__init__.py,sha256=avtMuty6qUgSPAPMUS0xIZFolN5iYwbpEWOrZ9zcV5o,730
|
2
2
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
3
3
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
4
|
-
ultralytics/cfg/__init__.py,sha256
|
4
|
+
ultralytics/cfg/__init__.py,sha256=-66Vtli1XqcRUJ9F_gYyEoKTO3gDMmOrDDnUEa5G84s,39646
|
5
5
|
ultralytics/cfg/default.yaml,sha256=6Z_HIaObLT2i9dhbskEg_PU_IfJS2fcCsffxr_RfFpU,8257
|
6
6
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=_xlEDIJ9XkUo0v_iNL7FW079BoSeZtKSuLteKTtGbA8,3275
|
7
7
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
|
@@ -19,6 +19,7 @@ ultralytics/cfg/datasets/coco-pose.yaml,sha256=NHdgSsGkHS0-X636p2-hExTJGdoWUSP1T
|
|
19
19
|
ultralytics/cfg/datasets/coco.yaml,sha256=chdzyIHLfekjOcng-G2_bpC57VUcHPjVvW8ENJfiQao,2619
|
20
20
|
ultralytics/cfg/datasets/coco128-seg.yaml,sha256=ifDPbVuuN7N2_3e8e_YBdTVcANYIOKORQMgXlsPS6D4,1995
|
21
21
|
ultralytics/cfg/datasets/coco128.yaml,sha256=udymG6qzF9Bvh_JYC7BOSXOUeA1Ia8ZmR2EzNGsY6YY,1978
|
22
|
+
ultralytics/cfg/datasets/coco8-multispectral.yaml,sha256=h5Kbx9y3wjWUw6p8jeQVUaIs07VoQS7ZY0vMau5WGAg,2076
|
22
23
|
ultralytics/cfg/datasets/coco8-pose.yaml,sha256=yfw2_SkCZO3ttPLiI0mfjxv5gr4-CA3i0elYP5PY71k,1022
|
23
24
|
ultralytics/cfg/datasets/coco8-seg.yaml,sha256=wpfFI-GfL5asbLtFyaHLE6593jdka7waE07Am3_eg8w,1926
|
24
25
|
ultralytics/cfg/datasets/coco8.yaml,sha256=qJX2TSM7nMV-PpCMXCX4702yp3a-ZF1ubLatlGN5XOE,1901
|
@@ -93,29 +94,30 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=D9doE5GQUe6HrAFzr7OfQFIGPFk0M_vJ0B_
|
|
93
94
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
|
94
95
|
ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
|
95
96
|
ultralytics/data/annotator.py,sha256=VEwb11FsEZm75qlEp8XDHFGKW0_rGsEaFDaBVd771Kw,2902
|
96
|
-
ultralytics/data/augment.py,sha256=
|
97
|
-
ultralytics/data/base.py,sha256=
|
97
|
+
ultralytics/data/augment.py,sha256=4XtuwM7SWG-mGqcWy-A9SZ-BO3ybge1vBFg3vZE1EM0,125258
|
98
|
+
ultralytics/data/base.py,sha256=efummc7-4ha3O2J-ZoUOK9-HO-8Glh3h0W2oEwh4WBg,18503
|
98
99
|
ultralytics/data/build.py,sha256=56pavLie6PDFEVYChMxnGQGtGsxozYZRpFqC70DRGls,9650
|
99
|
-
ultralytics/data/converter.py,sha256=
|
100
|
-
ultralytics/data/dataset.py,sha256=
|
101
|
-
ultralytics/data/loaders.py,sha256=
|
100
|
+
ultralytics/data/converter.py,sha256=K-XQwBMovTDvGMlUStq933HEIgRCRWViI6WUbnJ-3Rc,26785
|
101
|
+
ultralytics/data/dataset.py,sha256=3hcnCBBb5C_m4l5E1m2uf_2hQFhMv31FmvTfvWed8ek,34760
|
102
|
+
ultralytics/data/loaders.py,sha256=LjVOpqGtR4sijOqk2dLRObuW9fuOPp7UtAsrC3v9xnk,28480
|
103
|
+
ultralytics/data/split.py,sha256=6LHB1z8woXurWjXfM-Zm2thRr1KXvzR18CFJA-SDUvE,4677
|
102
104
|
ultralytics/data/split_dota.py,sha256=p8eVGht9tABSVbf9vwvxA_AQYEva3IGHePKlMeNrn64,11872
|
103
|
-
ultralytics/data/utils.py,sha256=
|
105
|
+
ultralytics/data/utils.py,sha256=yzYHZor0E1JU5RjC5dKYSqQx1uYHorDtzZK_Qi2dz6E,35124
|
104
106
|
ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
|
105
107
|
ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
|
106
108
|
ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
|
107
109
|
ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
|
108
110
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
109
|
-
ultralytics/engine/exporter.py,sha256=
|
110
|
-
ultralytics/engine/model.py,sha256=
|
111
|
-
ultralytics/engine/predictor.py,sha256=
|
112
|
-
ultralytics/engine/results.py,sha256=
|
113
|
-
ultralytics/engine/trainer.py,sha256=
|
114
|
-
ultralytics/engine/tuner.py,sha256=
|
115
|
-
ultralytics/engine/validator.py,sha256=
|
111
|
+
ultralytics/engine/exporter.py,sha256=qdJ2uXGASnEvpcddoNstiLBaO4ljUsjqFC6oFQtB8mk,73662
|
112
|
+
ultralytics/engine/model.py,sha256=wS1cwgv0iyhsslMAZYMGlYDWitDIRW96d7MxwW-Sw5o,52817
|
113
|
+
ultralytics/engine/predictor.py,sha256=8SGBk9WKyOtt7_bRbdY4_0uFylMw1wOP_V1u8De4gEY,21692
|
114
|
+
ultralytics/engine/results.py,sha256=C3j-kyjoMxn7bb8tK_kaYrOWB8-7qDYZ-_hSh1LPWMA,79742
|
115
|
+
ultralytics/engine/trainer.py,sha256=O6Cl-27Wd8w7WJGfG3rIx7LDgF-_qb9gF_j8oBeUV24,38839
|
116
|
+
ultralytics/engine/tuner.py,sha256=oyjnbAExddGTBN-sm7tXFtxSgjZOZ5M81EIJSzpmqno,12581
|
117
|
+
ultralytics/engine/validator.py,sha256=jfV81wuFDgrVVXEcPzgOpxAPrAZn-1LgpKwu9l_1-ts,17050
|
116
118
|
ultralytics/hub/__init__.py,sha256=wDtAUKdfqob95tfFHgDJFXcsNSDSdoIQkJTm-CfIUTI,6616
|
117
|
-
ultralytics/hub/auth.py,sha256=
|
118
|
-
ultralytics/hub/session.py,sha256=
|
119
|
+
ultralytics/hub/auth.py,sha256=_bGQVLTgP-ina4fQxq2M7qkj9zKKfxb99_VWgN3S_4k,5549
|
120
|
+
ultralytics/hub/session.py,sha256=3psanIW9-l9tguGwqWorgK6ksRlSbBo_ID9q0DD7gNo,18686
|
119
121
|
ultralytics/hub/utils.py,sha256=S1fBLXh6Tr3TpQkOhgoQZNWVkM46xPRbnLsmloo7seM,9642
|
120
122
|
ultralytics/hub/google/__init__.py,sha256=rV9_KoRBwYlwyx3QLaBp1opw5Sjrbgl0YoDHtXoHIMw,8429
|
121
123
|
ultralytics/models/__init__.py,sha256=DqQFFYJ4IQlqIDb61H1HzcnZU7SuHN-43bw94-l-YAQ,309
|
@@ -131,7 +133,7 @@ ultralytics/models/nas/val.py,sha256=jIDgS656XGaBEEJ_jhyMub-qIieneH5nTXerEoLib9A
|
|
131
133
|
ultralytics/models/rtdetr/__init__.py,sha256=_jEHmOjI_QP_nT3XJXLgYHQ6bXG4EL8Gnvn1y_eev1g,225
|
132
134
|
ultralytics/models/rtdetr/model.py,sha256=zx9UKpReYCRL7Is2DXIX9ZcJE25KE_fPZ-NYx5vF6E4,2119
|
133
135
|
ultralytics/models/rtdetr/predict.py,sha256=5VNvyULxegg_NfGo7ugfIKHrtKhpaspJZdagU1haQmo,3942
|
134
|
-
ultralytics/models/rtdetr/train.py,sha256
|
136
|
+
ultralytics/models/rtdetr/train.py,sha256=-c0DZNRscWXRNHddwHHY_OH5nLUb4LLoLyn2yIohGTg,3395
|
135
137
|
ultralytics/models/rtdetr/val.py,sha256=MfX3drVsGOqbK0au-ZroDNfeYXmFCSembfElFmuFGuI,7301
|
136
138
|
ultralytics/models/sam/__init__.py,sha256=iR7B06rAEni21eptg8n4rLOP0Z_qV9y9PL-L93n4_7s,266
|
137
139
|
ultralytics/models/sam/amg.py,sha256=r_duG0DCeCyTYfhcVh-ti10FPMl4VGL4SKc8yvbQpNU,11050
|
@@ -143,7 +145,7 @@ ultralytics/models/sam/modules/blocks.py,sha256=Kj9bWyP1E96JPllJS8cJ2FSxPdkQChZd
|
|
143
145
|
ultralytics/models/sam/modules/decoders.py,sha256=4Ijtkl7g_UmLMNEGokt1C05T05MkUczFIRJIUX0gDDc,25654
|
144
146
|
ultralytics/models/sam/modules/encoders.py,sha256=uXP-CMjtTRCGD2hkbDfXjKSrW0l6Lj_pyx3ZwztYZcw,37614
|
145
147
|
ultralytics/models/sam/modules/memory_attention.py,sha256=2HWCr7GrXMRX_V3RTfz44i2W44owpStPZU8Jq2hM0gE,12964
|
146
|
-
ultralytics/models/sam/modules/sam.py,sha256=
|
148
|
+
ultralytics/models/sam/modules/sam.py,sha256=PJxBIfJdJTe-NLWZZgmSWbnvHhyQjzr7gXNarjqBNJE,52628
|
147
149
|
ultralytics/models/sam/modules/tiny_encoder.py,sha256=p6386bsmIwgZq1wfV7h6dcnI6955SBO2bBrp0HwjnYQ,40837
|
148
150
|
ultralytics/models/sam/modules/transformer.py,sha256=YRhoriZ-j37kxq19kArfv2DSOz2Jj9DAbs2mcOBVORw,14674
|
149
151
|
ultralytics/models/sam/modules/utils.py,sha256=EOOBeS6Mm1P13ultPYwOyJ0Vm2IY3NyH9DM3SgZCbFU,16436
|
@@ -154,35 +156,35 @@ ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR
|
|
154
156
|
ultralytics/models/yolo/model.py,sha256=mNsz_eqpMMxpvWgx-OF0StxGNxslIR8LQJ7QQ8DvjKw,14357
|
155
157
|
ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
|
156
158
|
ultralytics/models/yolo/classify/predict.py,sha256=JV9szginTQ9Lpob0FozhKMiEIu1vVaYg4YItuVK2AFM,4081
|
157
|
-
ultralytics/models/yolo/classify/train.py,sha256=
|
159
|
+
ultralytics/models/yolo/classify/train.py,sha256=rv2CJv9fzvtHf2q4l5g0RsjplWKeLpz637kKqjtrLNY,9737
|
158
160
|
ultralytics/models/yolo/classify/val.py,sha256=xk-YwSQdl_oqyCBV0OOAOcXFL6CchebFOc36AkRSyjE,9992
|
159
161
|
ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
|
160
162
|
ultralytics/models/yolo/detect/predict.py,sha256=KZTf2UI7O8ZmPaihqCgsb8IwwchSQTBnO8kAlv8XEMo,4376
|
161
|
-
ultralytics/models/yolo/detect/train.py,sha256=
|
162
|
-
ultralytics/models/yolo/detect/val.py,sha256=
|
163
|
+
ultralytics/models/yolo/detect/train.py,sha256=YOEmUZkfJBq6hNbB_P10k-uy4_2fUgdPfVWzO4y8Egs,9538
|
164
|
+
ultralytics/models/yolo/detect/val.py,sha256=_gpsMoMzo_7Rv_vQDyvCeztp6NbuoPNQBNvDWH_R-L4,18434
|
163
165
|
ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
|
164
166
|
ultralytics/models/yolo/obb/predict.py,sha256=L40iamQgTY7VDn0WggG2jeJK8cVUo1qsNuFSbK67ry0,2974
|
165
|
-
ultralytics/models/yolo/obb/train.py,sha256=
|
167
|
+
ultralytics/models/yolo/obb/train.py,sha256=MQgLZ65pcdf8QIzqGxIt77GcuVUeXvdbP8dFjz8Xh34,3458
|
166
168
|
ultralytics/models/yolo/obb/val.py,sha256=dkXUh2JfffILVRkfXycQGImQQssUDgKMtfDRP7jUpV0,13981
|
167
169
|
ultralytics/models/yolo/pose/__init__.py,sha256=63xmuHZLNzV8I76HhVXAq4f2W0KTk8Oi9eL-Y204LyQ,227
|
168
|
-
ultralytics/models/yolo/pose/predict.py,sha256=
|
169
|
-
ultralytics/models/yolo/pose/train.py,sha256=
|
170
|
-
ultralytics/models/yolo/pose/val.py,sha256=
|
170
|
+
ultralytics/models/yolo/pose/predict.py,sha256=Q3eOti-wjEeiTpChTdb_kY_CgkwEYMGbBztsb2JAVbo,3836
|
171
|
+
ultralytics/models/yolo/pose/train.py,sha256=W9ThNoqawpZOTgX8TZfcdPY1_zxFjB-GryToUUTGf-k,5942
|
172
|
+
ultralytics/models/yolo/pose/val.py,sha256=PO2Tdlntbx41q_7U4vZ0L_J9-tiqNq5cHCzBJ7HmOUo,18303
|
171
173
|
ultralytics/models/yolo/segment/__init__.py,sha256=3IThhZ1wlkY9FvmWm9cE-5-ZyE6F1FgzAtQ6jOOFzzw,275
|
172
174
|
ultralytics/models/yolo/segment/predict.py,sha256=0m2itdoUbSlfGq_-tjC6XG_SsCWXtiCUoi4tWxQD6qY,5410
|
173
|
-
ultralytics/models/yolo/segment/train.py,sha256=
|
174
|
-
ultralytics/models/yolo/segment/val.py,sha256=
|
175
|
+
ultralytics/models/yolo/segment/train.py,sha256=7DN9UpvNeEPHUNlDOZSnxem4bPfo_e5UgMLyyKT6FWo,5359
|
176
|
+
ultralytics/models/yolo/segment/val.py,sha256=cXJM1JNuzDraU0SJQRIdzNxabd0bfcxiRE8wozHZChY,18415
|
175
177
|
ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
|
176
|
-
ultralytics/models/yolo/world/train.py,sha256=
|
177
|
-
ultralytics/models/yolo/world/train_world.py,sha256=
|
178
|
+
ultralytics/models/yolo/world/train.py,sha256=HUJ0XiJIGx_FA9kqNYnSFsaKWMiZUDxgkpfGoBH6UNc,4896
|
179
|
+
ultralytics/models/yolo/world/train_world.py,sha256=E3YQVbiwzmB5Al4XX7c95nx_VBW94uqzxd96vtdIFps,7741
|
178
180
|
ultralytics/models/yolo/yoloe/__init__.py,sha256=Z9QEmbDYABkx15zFILDsFNNz1IyZ5hl9zghaF0A5qJo,704
|
179
181
|
ultralytics/models/yolo/yoloe/predict.py,sha256=pjvQ8TKlAe_KIFo70qiNdOrSTITU3pcJ4VE_k7uJjDk,6994
|
180
|
-
ultralytics/models/yolo/yoloe/train.py,sha256=
|
181
|
-
ultralytics/models/yolo/yoloe/train_seg.py,sha256=
|
182
|
+
ultralytics/models/yolo/yoloe/train.py,sha256=JF_QxJUU3_w8yhmTfKFTpI7rVRJL1g7z7wnDikCxnn8,17691
|
183
|
+
ultralytics/models/yolo/yoloe/train_seg.py,sha256=6nN9DbP-AJKlJ3nIlvNn8VXFwFLQEVjSOgdN5aA817M,5309
|
182
184
|
ultralytics/models/yolo/yoloe/val.py,sha256=utdt8wZvvW9OPxO5rx8KsFlkLG0FXj0YMD7Jhyk54D8,8440
|
183
185
|
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
184
|
-
ultralytics/nn/autobackend.py,sha256=
|
185
|
-
ultralytics/nn/tasks.py,sha256=
|
186
|
+
ultralytics/nn/autobackend.py,sha256=5AFOupiznw0weF_orWE4OFGzR2yDwO3WF1XP0StEiuk,38769
|
187
|
+
ultralytics/nn/tasks.py,sha256=EwRC70qA3eP8Xp-gGP8OuN-q8LCGDrq1iRue7ncRSV4,62916
|
186
188
|
ultralytics/nn/text_model.py,sha256=H6OiLe0FOyZY4pd7-ixRTxaBgx3lOc2GmGTmrFnoJd0,10136
|
187
189
|
ultralytics/nn/modules/__init__.py,sha256=dXLtIk9rt944WfsTdpgEdWOg3HQEHdwQztuZ6WNJygs,3144
|
188
190
|
ultralytics/nn/modules/activation.py,sha256=PvXZkA9AzEntR575JkFORdmtcRwATyy0lje-uHA5_8w,2210
|
@@ -196,15 +198,15 @@ ultralytics/solutions/ai_gym.py,sha256=oOexy2cT59u9X6ROCwoaV3Nl2zT2xJ_trShAoSyR8
|
|
196
198
|
ultralytics/solutions/analytics.py,sha256=O8dXdDTpHPRlz2vAGMvef1NfWUXBvoYt2G_TQI_UjoQ,11983
|
197
199
|
ultralytics/solutions/distance_calculation.py,sha256=n6bPNJ7YbPKAaHWsra6CQQtrDR0SEvSC14BRWTITyBU,5711
|
198
200
|
ultralytics/solutions/heatmap.py,sha256=dagbZ0Vn4UdywNyiAypYW5v1uzOWf521QrkzmqyeCEc,5626
|
199
|
-
ultralytics/solutions/instance_segmentation.py,sha256=
|
200
|
-
ultralytics/solutions/object_blurrer.py,sha256=
|
201
|
+
ultralytics/solutions/instance_segmentation.py,sha256=HxzFf752PwjAjZhrf8BzI-gEey_f9mjxTOqJsLHSIB8,3498
|
202
|
+
ultralytics/solutions/object_blurrer.py,sha256=2RaUJ6DptdcIg__mhoegkfPpj2ymL0nsBjGX9Y_FkVY,3889
|
201
203
|
ultralytics/solutions/object_counter.py,sha256=QXBRBEv_a0uiOYYzsNdu0VAH62rg97v1EiSHy60O1q4,9999
|
202
|
-
ultralytics/solutions/object_cropper.py,sha256=
|
203
|
-
ultralytics/solutions/parking_management.py,sha256=
|
204
|
+
ultralytics/solutions/object_cropper.py,sha256=RNk_v_XRXm9Ye2TsKG5CPd3TDsRaiODWpy8MvYqkSLs,3382
|
205
|
+
ultralytics/solutions/parking_management.py,sha256=SiVxRl44OxxYUXIzNOxOBqtaFJSRRpD_gTsNyvB1n5o,13277
|
204
206
|
ultralytics/solutions/queue_management.py,sha256=cUzAMMeWijowkdiuaSUZRr0S3I5MTHkCQOLjOqS0JN0,4299
|
205
207
|
ultralytics/solutions/region_counter.py,sha256=LKZuykgmnevKKzYifyeHQwQroF7tJJIPI6HVXi5mb9M,5299
|
206
|
-
ultralytics/solutions/security_alarm.py,sha256=
|
207
|
-
ultralytics/solutions/solutions.py,sha256=
|
208
|
+
ultralytics/solutions/security_alarm.py,sha256=mbUtqoLgjAWz9k3pjMoEZY_PR-lhjiic1NK90FhEJkw,6250
|
209
|
+
ultralytics/solutions/solutions.py,sha256=UaDZN_wAmV-XeRh57ca9TuqX-7sZUU-TmrpL1BqYuEc,31522
|
208
210
|
ultralytics/solutions/speed_estimation.py,sha256=3UFtGXKNUy1jt6GS4wg4hvkQoQ4KkOHXjzMpmSHodx0,5126
|
209
211
|
ultralytics/solutions/streamlit_inference.py,sha256=M0ppTFInqSPrdytZBLH8x-XoA7zFc7PaRQ51wHG9ppU,9846
|
210
212
|
ultralytics/solutions/trackzone.py,sha256=05XVTQVCGHFAuFNPzyv0VXKQSJKiyWkU6zkXVo4_dxw,3792
|
@@ -212,45 +214,45 @@ ultralytics/solutions/vision_eye.py,sha256=cFjex7mau20Ww4Cuq9lbaAidVTByXk7nhZ0KV
|
|
212
214
|
ultralytics/trackers/__init__.py,sha256=Zlu_Ig5osn7hqch_g5Be_e4pwZUkeeTQiesJCi0pFGI,255
|
213
215
|
ultralytics/trackers/basetrack.py,sha256=LYvWB5d7Woyrz_RlxaopjV07RQKH3sff_lZJfMcMxcA,4450
|
214
216
|
ultralytics/trackers/bot_sort.py,sha256=BuySzVBqQS6P4spoAKjE2a64e5CvmymbN7gVLU_4bjs,10425
|
215
|
-
ultralytics/trackers/byte_tracker.py,sha256=
|
217
|
+
ultralytics/trackers/byte_tracker.py,sha256=Z1wmrvbA_GcAMW0IitBg_voSe7Pxm-ZzmupvGtTQOPU,20853
|
216
218
|
ultralytics/trackers/track.py,sha256=URALIdE8H0RBaAx7ClQ7oFEGeboY5cjIs6_yIwge-xU,4062
|
217
219
|
ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
218
|
-
ultralytics/trackers/utils/gmc.py,sha256=
|
220
|
+
ultralytics/trackers/utils/gmc.py,sha256=dz3I5LbIv7h1__Xg7rGHecQFE32VFTe54tUnxb8F0Z8,14466
|
219
221
|
ultralytics/trackers/utils/kalman_filter.py,sha256=A0CqOnnaKH6kr0XwuHzyHmIU6aJAjJYxF9jVlNBKZHo,21326
|
220
222
|
ultralytics/trackers/utils/matching.py,sha256=7eIufSdeN7cXuFMjvcfvz0Ldq84m4YKZl5IGxBR8IIo,7169
|
221
|
-
ultralytics/utils/__init__.py,sha256=
|
222
|
-
ultralytics/utils/autobatch.py,sha256=
|
223
|
-
ultralytics/utils/benchmarks.py,sha256=
|
224
|
-
ultralytics/utils/checks.py,sha256=
|
223
|
+
ultralytics/utils/__init__.py,sha256=oH-D2pJrrOzZuYNUrnBlJhwnSz5WUcud8_pAZs1M8KA,50423
|
224
|
+
ultralytics/utils/autobatch.py,sha256=VZTIKLWeFZFwBHJmbiCn3MaxoFp89hLR0DSCR_iLXJg,4913
|
225
|
+
ultralytics/utils/benchmarks.py,sha256=L7rpcnVAnk2doGNJMhXcDqypPLiz0taZ3bDv850IZkU,30404
|
226
|
+
ultralytics/utils/checks.py,sha256=lE1V-lkvEd8sUYKYfgt3YJoqWd3dJT5-1DeHAQTMm88,32541
|
225
227
|
ultralytics/utils/dist.py,sha256=e-DK_YowV7D9rDGQyWR9Kaosxp2eWe2EogSWnnUMthc,4098
|
226
|
-
ultralytics/utils/downloads.py,sha256=
|
228
|
+
ultralytics/utils/downloads.py,sha256=Bxg9i0coiQTaYztYtc1tXKH3qpg8lV-ywXPSbT121hU,22125
|
227
229
|
ultralytics/utils/errors.py,sha256=vY9h2evFSrHnZdHJVVrmm8Zzw4qVDLyo9DeYW5g0dFk,1573
|
228
|
-
ultralytics/utils/export.py,sha256=
|
230
|
+
ultralytics/utils/export.py,sha256=mTkebwilsT1jwIfTLgAQdkbrnZr9Sm96W-Vi7B1j5wQ,8817
|
229
231
|
ultralytics/utils/files.py,sha256=0K4O1cgqRiXaDw7EQK13TqA5SME_RrvfDVQSPetNr5w,8042
|
230
232
|
ultralytics/utils/instance.py,sha256=UOEsXR9V-bXNRk6BTonASBEgeMqvzzAk4S7VdXZJUAM,18090
|
231
233
|
ultralytics/utils/loss.py,sha256=us3lwmSlIwEzoMztNjpet7Kb1r1-sMGyESykqgYPDVo,36945
|
232
|
-
ultralytics/utils/metrics.py,sha256=
|
233
|
-
ultralytics/utils/ops.py,sha256=
|
234
|
-
ultralytics/utils/patches.py,sha256=
|
235
|
-
ultralytics/utils/plotting.py,sha256=
|
236
|
-
ultralytics/utils/tal.py,sha256=
|
237
|
-
ultralytics/utils/torch_utils.py,sha256=
|
234
|
+
ultralytics/utils/metrics.py,sha256=uv5O-2Ft8wYfTvDedFxiUqMZ6Nr2CL6I9ybGZiK3e2s,53773
|
235
|
+
ultralytics/utils/ops.py,sha256=9QCSbEcgJPcBAp3lw4esof93aOHBadS3hN18gaMjC-M,34200
|
236
|
+
ultralytics/utils/patches.py,sha256=qArRoYscf7jph-OwIYJAAkOB5bAM6pcktgXKc76A8HE,4860
|
237
|
+
ultralytics/utils/plotting.py,sha256=5QPK1y-gm4T1mK3sjfRZhIUJAyP05D1cJ7h9wHPTifU,46616
|
238
|
+
ultralytics/utils/tal.py,sha256=P5nPoR9qNnFuDIda0fsn8WP6m1V8r7EbvXUuhNRFFTA,20805
|
239
|
+
ultralytics/utils/torch_utils.py,sha256=_HVbVpgzNcYerEZqZ6es6ufYA8-iTpHCwAyrVdPcuUg,38853
|
238
240
|
ultralytics/utils/triton.py,sha256=xK9Db_ZUVDnIK1u76S2G-6ulIBsLfj9HN_YOaSrnMuU,5304
|
239
|
-
ultralytics/utils/tuner.py,sha256=
|
241
|
+
ultralytics/utils/tuner.py,sha256=R_TVIfsTA8qxEPiqHBCZgh1rzqAAOwQ1gImw-0IR13g,6682
|
240
242
|
ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
|
241
243
|
ultralytics/utils/callbacks/base.py,sha256=p8YCeYDp4GLcyHWFZxC2Wxr2IXLw_MfIE5ef1fOQcWk,6848
|
242
|
-
ultralytics/utils/callbacks/clearml.py,sha256=
|
243
|
-
ultralytics/utils/callbacks/comet.py,sha256=
|
244
|
-
ultralytics/utils/callbacks/dvc.py,sha256=
|
244
|
+
ultralytics/utils/callbacks/clearml.py,sha256=z-MmCALz1FcNSec8CmDiFHkRd_zTzzuPDCidq_xkUXY,5990
|
245
|
+
ultralytics/utils/callbacks/comet.py,sha256=_j8tKKxGlxDcw_Rx4Ow2PjZ3UpBHm9gLJlYSVU0WJ_E,22221
|
246
|
+
ultralytics/utils/callbacks/dvc.py,sha256=NywyiMqJfnK_UfJ_f1IK31puyIXZy0iVJQ4bB9uyu08,7532
|
245
247
|
ultralytics/utils/callbacks/hub.py,sha256=dPSeSStRE1x-WYyqrUghCp_VtBxNZ5-Bmb4wW2KYV2Y,4073
|
246
|
-
ultralytics/utils/callbacks/mlflow.py,sha256=
|
247
|
-
ultralytics/utils/callbacks/neptune.py,sha256=
|
248
|
+
ultralytics/utils/callbacks/mlflow.py,sha256=rcjjN_QVg6XoL4Kbw8YqC28RDCQMs0LxfsXRpAc8BgY,5430
|
249
|
+
ultralytics/utils/callbacks/neptune.py,sha256=JaI95Cj2kIjUhlEEOiDN0-Drc-fDelLhNI2gf1jHuvk,4665
|
248
250
|
ultralytics/utils/callbacks/raytune.py,sha256=A8amUGpux7dYES-L1iSeMoMXBySGWCD1aUqT7vcG-pU,1284
|
249
|
-
ultralytics/utils/callbacks/tensorboard.py,sha256=
|
251
|
+
ultralytics/utils/callbacks/tensorboard.py,sha256=jgYnym3cUQFAgN1GzTyO7l3jINtfAh8zhrllDvnLuVQ,5339
|
250
252
|
ultralytics/utils/callbacks/wb.py,sha256=iDRFXI4IIDm8R5OI89DMTmjs8aHLo1HRCLkOFKdaMG4,7507
|
251
|
-
ultralytics-8.3.
|
252
|
-
ultralytics-8.3.
|
253
|
-
ultralytics-8.3.
|
254
|
-
ultralytics-8.3.
|
255
|
-
ultralytics-8.3.
|
256
|
-
ultralytics-8.3.
|
253
|
+
ultralytics-8.3.112.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
254
|
+
ultralytics-8.3.112.dist-info/METADATA,sha256=UX-SAUTnCITX5u9VeAmWg5-0N7PqZ1d_Pih4p0m48WI,37354
|
255
|
+
ultralytics-8.3.112.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
256
|
+
ultralytics-8.3.112.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
257
|
+
ultralytics-8.3.112.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
258
|
+
ultralytics-8.3.112.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|