ultralytics 8.3.111__py3-none-any.whl → 8.3.113__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/cfg/datasets/dota8-multispectral.yaml +38 -0
- ultralytics/data/augment.py +17 -7
- ultralytics/data/base.py +24 -26
- ultralytics/data/converter.py +54 -3
- ultralytics/data/dataset.py +5 -5
- ultralytics/data/loaders.py +8 -10
- 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 +8 -4
- 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 +16 -6
- 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/region_counter.py +3 -2
- 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 +5 -5
- ultralytics/utils/tuner.py +2 -2
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.113.dist-info}/METADATA +1 -1
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.113.dist-info}/RECORD +71 -68
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.113.dist-info}/WHEEL +1 -1
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.113.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.113.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.111.dist-info → ultralytics-8.3.113.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
|
|
@@ -161,7 +161,7 @@ def select_device(device="", batch=0, newline=False, verbose=True):
|
|
161
161
|
Note:
|
162
162
|
Sets the 'CUDA_VISIBLE_DEVICES' environment variable for specifying which GPUs to use.
|
163
163
|
"""
|
164
|
-
if isinstance(device, torch.device) or str(device).startswith("tpu"):
|
164
|
+
if isinstance(device, torch.device) or str(device).startswith("tpu") or str(device).startswith("intel"):
|
165
165
|
return device
|
166
166
|
|
167
167
|
s = f"Ultralytics {__version__} 🚀 Python-{PYTHON_VERSION} torch-{torch.__version__} "
|
@@ -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.113
|
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=VTqTgGNRGJceBOt1vzSsy_E-AT4lpo3E0ME01yvryLU,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,11 +19,13 @@ 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
|
25
26
|
ultralytics/cfg/datasets/crack-seg.yaml,sha256=QEnxOouOKQ3TM6Cl8pBnX5QLPWdChZEBA28jaLkzxA4,852
|
26
27
|
ultralytics/cfg/datasets/dog-pose.yaml,sha256=Cr-J7dPhHmNfW9TKH48L22WPYmJFtWH-lbOAxLHnjKU,907
|
28
|
+
ultralytics/cfg/datasets/dota8-multispectral.yaml,sha256=62euz96MV3wRos2w6lhhG0DsSpSWte3VxPz-1hLz7YQ,1226
|
27
29
|
ultralytics/cfg/datasets/dota8.yaml,sha256=W43bp_6yUUVjs6vpogNrGI9vU7rLbEsSx6vyfIkDyj8,1073
|
28
30
|
ultralytics/cfg/datasets/hand-keypoints.yaml,sha256=5vue4kvPrAdd6ZyB90rZgtGUUHvSi3s_ht7jBBqX7a4,989
|
29
31
|
ultralytics/cfg/datasets/lvis.yaml,sha256=jD-z6cny0l_Cl7xN6RqiFAc7a7odcVwr3E8_jmH-wzA,29716
|
@@ -93,29 +95,30 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=D9doE5GQUe6HrAFzr7OfQFIGPFk0M_vJ0B_
|
|
93
95
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
|
94
96
|
ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
|
95
97
|
ultralytics/data/annotator.py,sha256=VEwb11FsEZm75qlEp8XDHFGKW0_rGsEaFDaBVd771Kw,2902
|
96
|
-
ultralytics/data/augment.py,sha256=
|
97
|
-
ultralytics/data/base.py,sha256=
|
98
|
+
ultralytics/data/augment.py,sha256=WBVuxXW1Mzu7V-LaSopoFEiu8S2r0kM5zMpFVyzcWF0,125280
|
99
|
+
ultralytics/data/base.py,sha256=efummc7-4ha3O2J-ZoUOK9-HO-8Glh3h0W2oEwh4WBg,18503
|
98
100
|
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=
|
101
|
+
ultralytics/data/converter.py,sha256=znXH2XTdo0Q4NDHMny1ydVBvrxKn2kbbwI-X5bn1MlQ,26890
|
102
|
+
ultralytics/data/dataset.py,sha256=3hcnCBBb5C_m4l5E1m2uf_2hQFhMv31FmvTfvWed8ek,34760
|
103
|
+
ultralytics/data/loaders.py,sha256=kl3gHkcIcNHqLKuQ5fyAlDo9WYBsCPjLcnFbRpk6KVw,28494
|
104
|
+
ultralytics/data/split.py,sha256=6LHB1z8woXurWjXfM-Zm2thRr1KXvzR18CFJA-SDUvE,4677
|
102
105
|
ultralytics/data/split_dota.py,sha256=p8eVGht9tABSVbf9vwvxA_AQYEva3IGHePKlMeNrn64,11872
|
103
|
-
ultralytics/data/utils.py,sha256=
|
106
|
+
ultralytics/data/utils.py,sha256=yzYHZor0E1JU5RjC5dKYSqQx1uYHorDtzZK_Qi2dz6E,35124
|
104
107
|
ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
|
105
108
|
ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
|
106
109
|
ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
|
107
110
|
ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
|
108
111
|
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=
|
112
|
+
ultralytics/engine/exporter.py,sha256=qdJ2uXGASnEvpcddoNstiLBaO4ljUsjqFC6oFQtB8mk,73662
|
113
|
+
ultralytics/engine/model.py,sha256=wS1cwgv0iyhsslMAZYMGlYDWitDIRW96d7MxwW-Sw5o,52817
|
114
|
+
ultralytics/engine/predictor.py,sha256=YJ5l-0qIpr6JAJxowswtZ0IqmXBqVTvAA9vR40v0sCM,21752
|
115
|
+
ultralytics/engine/results.py,sha256=C3j-kyjoMxn7bb8tK_kaYrOWB8-7qDYZ-_hSh1LPWMA,79742
|
116
|
+
ultralytics/engine/trainer.py,sha256=O6Cl-27Wd8w7WJGfG3rIx7LDgF-_qb9gF_j8oBeUV24,38839
|
117
|
+
ultralytics/engine/tuner.py,sha256=oyjnbAExddGTBN-sm7tXFtxSgjZOZ5M81EIJSzpmqno,12581
|
118
|
+
ultralytics/engine/validator.py,sha256=jfV81wuFDgrVVXEcPzgOpxAPrAZn-1LgpKwu9l_1-ts,17050
|
116
119
|
ultralytics/hub/__init__.py,sha256=wDtAUKdfqob95tfFHgDJFXcsNSDSdoIQkJTm-CfIUTI,6616
|
117
|
-
ultralytics/hub/auth.py,sha256=
|
118
|
-
ultralytics/hub/session.py,sha256=
|
120
|
+
ultralytics/hub/auth.py,sha256=_bGQVLTgP-ina4fQxq2M7qkj9zKKfxb99_VWgN3S_4k,5549
|
121
|
+
ultralytics/hub/session.py,sha256=3psanIW9-l9tguGwqWorgK6ksRlSbBo_ID9q0DD7gNo,18686
|
119
122
|
ultralytics/hub/utils.py,sha256=S1fBLXh6Tr3TpQkOhgoQZNWVkM46xPRbnLsmloo7seM,9642
|
120
123
|
ultralytics/hub/google/__init__.py,sha256=rV9_KoRBwYlwyx3QLaBp1opw5Sjrbgl0YoDHtXoHIMw,8429
|
121
124
|
ultralytics/models/__init__.py,sha256=DqQFFYJ4IQlqIDb61H1HzcnZU7SuHN-43bw94-l-YAQ,309
|
@@ -131,7 +134,7 @@ ultralytics/models/nas/val.py,sha256=jIDgS656XGaBEEJ_jhyMub-qIieneH5nTXerEoLib9A
|
|
131
134
|
ultralytics/models/rtdetr/__init__.py,sha256=_jEHmOjI_QP_nT3XJXLgYHQ6bXG4EL8Gnvn1y_eev1g,225
|
132
135
|
ultralytics/models/rtdetr/model.py,sha256=zx9UKpReYCRL7Is2DXIX9ZcJE25KE_fPZ-NYx5vF6E4,2119
|
133
136
|
ultralytics/models/rtdetr/predict.py,sha256=5VNvyULxegg_NfGo7ugfIKHrtKhpaspJZdagU1haQmo,3942
|
134
|
-
ultralytics/models/rtdetr/train.py,sha256
|
137
|
+
ultralytics/models/rtdetr/train.py,sha256=-c0DZNRscWXRNHddwHHY_OH5nLUb4LLoLyn2yIohGTg,3395
|
135
138
|
ultralytics/models/rtdetr/val.py,sha256=MfX3drVsGOqbK0au-ZroDNfeYXmFCSembfElFmuFGuI,7301
|
136
139
|
ultralytics/models/sam/__init__.py,sha256=iR7B06rAEni21eptg8n4rLOP0Z_qV9y9PL-L93n4_7s,266
|
137
140
|
ultralytics/models/sam/amg.py,sha256=r_duG0DCeCyTYfhcVh-ti10FPMl4VGL4SKc8yvbQpNU,11050
|
@@ -143,7 +146,7 @@ ultralytics/models/sam/modules/blocks.py,sha256=Kj9bWyP1E96JPllJS8cJ2FSxPdkQChZd
|
|
143
146
|
ultralytics/models/sam/modules/decoders.py,sha256=4Ijtkl7g_UmLMNEGokt1C05T05MkUczFIRJIUX0gDDc,25654
|
144
147
|
ultralytics/models/sam/modules/encoders.py,sha256=uXP-CMjtTRCGD2hkbDfXjKSrW0l6Lj_pyx3ZwztYZcw,37614
|
145
148
|
ultralytics/models/sam/modules/memory_attention.py,sha256=2HWCr7GrXMRX_V3RTfz44i2W44owpStPZU8Jq2hM0gE,12964
|
146
|
-
ultralytics/models/sam/modules/sam.py,sha256=
|
149
|
+
ultralytics/models/sam/modules/sam.py,sha256=PJxBIfJdJTe-NLWZZgmSWbnvHhyQjzr7gXNarjqBNJE,52628
|
147
150
|
ultralytics/models/sam/modules/tiny_encoder.py,sha256=p6386bsmIwgZq1wfV7h6dcnI6955SBO2bBrp0HwjnYQ,40837
|
148
151
|
ultralytics/models/sam/modules/transformer.py,sha256=YRhoriZ-j37kxq19kArfv2DSOz2Jj9DAbs2mcOBVORw,14674
|
149
152
|
ultralytics/models/sam/modules/utils.py,sha256=EOOBeS6Mm1P13ultPYwOyJ0Vm2IY3NyH9DM3SgZCbFU,16436
|
@@ -154,35 +157,35 @@ ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR
|
|
154
157
|
ultralytics/models/yolo/model.py,sha256=mNsz_eqpMMxpvWgx-OF0StxGNxslIR8LQJ7QQ8DvjKw,14357
|
155
158
|
ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
|
156
159
|
ultralytics/models/yolo/classify/predict.py,sha256=JV9szginTQ9Lpob0FozhKMiEIu1vVaYg4YItuVK2AFM,4081
|
157
|
-
ultralytics/models/yolo/classify/train.py,sha256=
|
160
|
+
ultralytics/models/yolo/classify/train.py,sha256=rv2CJv9fzvtHf2q4l5g0RsjplWKeLpz637kKqjtrLNY,9737
|
158
161
|
ultralytics/models/yolo/classify/val.py,sha256=xk-YwSQdl_oqyCBV0OOAOcXFL6CchebFOc36AkRSyjE,9992
|
159
162
|
ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
|
160
163
|
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=
|
164
|
+
ultralytics/models/yolo/detect/train.py,sha256=YOEmUZkfJBq6hNbB_P10k-uy4_2fUgdPfVWzO4y8Egs,9538
|
165
|
+
ultralytics/models/yolo/detect/val.py,sha256=_gpsMoMzo_7Rv_vQDyvCeztp6NbuoPNQBNvDWH_R-L4,18434
|
163
166
|
ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
|
164
167
|
ultralytics/models/yolo/obb/predict.py,sha256=L40iamQgTY7VDn0WggG2jeJK8cVUo1qsNuFSbK67ry0,2974
|
165
|
-
ultralytics/models/yolo/obb/train.py,sha256=
|
168
|
+
ultralytics/models/yolo/obb/train.py,sha256=MQgLZ65pcdf8QIzqGxIt77GcuVUeXvdbP8dFjz8Xh34,3458
|
166
169
|
ultralytics/models/yolo/obb/val.py,sha256=dkXUh2JfffILVRkfXycQGImQQssUDgKMtfDRP7jUpV0,13981
|
167
170
|
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=
|
171
|
+
ultralytics/models/yolo/pose/predict.py,sha256=Q3eOti-wjEeiTpChTdb_kY_CgkwEYMGbBztsb2JAVbo,3836
|
172
|
+
ultralytics/models/yolo/pose/train.py,sha256=W9ThNoqawpZOTgX8TZfcdPY1_zxFjB-GryToUUTGf-k,5942
|
173
|
+
ultralytics/models/yolo/pose/val.py,sha256=PO2Tdlntbx41q_7U4vZ0L_J9-tiqNq5cHCzBJ7HmOUo,18303
|
171
174
|
ultralytics/models/yolo/segment/__init__.py,sha256=3IThhZ1wlkY9FvmWm9cE-5-ZyE6F1FgzAtQ6jOOFzzw,275
|
172
175
|
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=
|
176
|
+
ultralytics/models/yolo/segment/train.py,sha256=7DN9UpvNeEPHUNlDOZSnxem4bPfo_e5UgMLyyKT6FWo,5359
|
177
|
+
ultralytics/models/yolo/segment/val.py,sha256=cXJM1JNuzDraU0SJQRIdzNxabd0bfcxiRE8wozHZChY,18415
|
175
178
|
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=
|
179
|
+
ultralytics/models/yolo/world/train.py,sha256=HUJ0XiJIGx_FA9kqNYnSFsaKWMiZUDxgkpfGoBH6UNc,4896
|
180
|
+
ultralytics/models/yolo/world/train_world.py,sha256=E3YQVbiwzmB5Al4XX7c95nx_VBW94uqzxd96vtdIFps,7741
|
178
181
|
ultralytics/models/yolo/yoloe/__init__.py,sha256=Z9QEmbDYABkx15zFILDsFNNz1IyZ5hl9zghaF0A5qJo,704
|
179
182
|
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=
|
183
|
+
ultralytics/models/yolo/yoloe/train.py,sha256=JF_QxJUU3_w8yhmTfKFTpI7rVRJL1g7z7wnDikCxnn8,17691
|
184
|
+
ultralytics/models/yolo/yoloe/train_seg.py,sha256=6nN9DbP-AJKlJ3nIlvNn8VXFwFLQEVjSOgdN5aA817M,5309
|
182
185
|
ultralytics/models/yolo/yoloe/val.py,sha256=utdt8wZvvW9OPxO5rx8KsFlkLG0FXj0YMD7Jhyk54D8,8440
|
183
186
|
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
184
|
-
ultralytics/nn/autobackend.py,sha256=
|
185
|
-
ultralytics/nn/tasks.py,sha256=
|
187
|
+
ultralytics/nn/autobackend.py,sha256=_Pcqui3HykJx2o5ez1a9goV_jzFg-d1LmGm_P4As0y4,39202
|
188
|
+
ultralytics/nn/tasks.py,sha256=EwRC70qA3eP8Xp-gGP8OuN-q8LCGDrq1iRue7ncRSV4,62916
|
186
189
|
ultralytics/nn/text_model.py,sha256=H6OiLe0FOyZY4pd7-ixRTxaBgx3lOc2GmGTmrFnoJd0,10136
|
187
190
|
ultralytics/nn/modules/__init__.py,sha256=dXLtIk9rt944WfsTdpgEdWOg3HQEHdwQztuZ6WNJygs,3144
|
188
191
|
ultralytics/nn/modules/activation.py,sha256=PvXZkA9AzEntR575JkFORdmtcRwATyy0lje-uHA5_8w,2210
|
@@ -196,15 +199,15 @@ ultralytics/solutions/ai_gym.py,sha256=oOexy2cT59u9X6ROCwoaV3Nl2zT2xJ_trShAoSyR8
|
|
196
199
|
ultralytics/solutions/analytics.py,sha256=O8dXdDTpHPRlz2vAGMvef1NfWUXBvoYt2G_TQI_UjoQ,11983
|
197
200
|
ultralytics/solutions/distance_calculation.py,sha256=n6bPNJ7YbPKAaHWsra6CQQtrDR0SEvSC14BRWTITyBU,5711
|
198
201
|
ultralytics/solutions/heatmap.py,sha256=dagbZ0Vn4UdywNyiAypYW5v1uzOWf521QrkzmqyeCEc,5626
|
199
|
-
ultralytics/solutions/instance_segmentation.py,sha256=
|
200
|
-
ultralytics/solutions/object_blurrer.py,sha256=
|
202
|
+
ultralytics/solutions/instance_segmentation.py,sha256=HxzFf752PwjAjZhrf8BzI-gEey_f9mjxTOqJsLHSIB8,3498
|
203
|
+
ultralytics/solutions/object_blurrer.py,sha256=2RaUJ6DptdcIg__mhoegkfPpj2ymL0nsBjGX9Y_FkVY,3889
|
201
204
|
ultralytics/solutions/object_counter.py,sha256=QXBRBEv_a0uiOYYzsNdu0VAH62rg97v1EiSHy60O1q4,9999
|
202
|
-
ultralytics/solutions/object_cropper.py,sha256=
|
203
|
-
ultralytics/solutions/parking_management.py,sha256=
|
205
|
+
ultralytics/solutions/object_cropper.py,sha256=RNk_v_XRXm9Ye2TsKG5CPd3TDsRaiODWpy8MvYqkSLs,3382
|
206
|
+
ultralytics/solutions/parking_management.py,sha256=SiVxRl44OxxYUXIzNOxOBqtaFJSRRpD_gTsNyvB1n5o,13277
|
204
207
|
ultralytics/solutions/queue_management.py,sha256=cUzAMMeWijowkdiuaSUZRr0S3I5MTHkCQOLjOqS0JN0,4299
|
205
|
-
ultralytics/solutions/region_counter.py,sha256=
|
206
|
-
ultralytics/solutions/security_alarm.py,sha256=
|
207
|
-
ultralytics/solutions/solutions.py,sha256=
|
208
|
+
ultralytics/solutions/region_counter.py,sha256=5CFtrWxQC8a-6puaxjYXaJAmYE9vTFUxNSd-XYeiRkU,5373
|
209
|
+
ultralytics/solutions/security_alarm.py,sha256=mbUtqoLgjAWz9k3pjMoEZY_PR-lhjiic1NK90FhEJkw,6250
|
210
|
+
ultralytics/solutions/solutions.py,sha256=UaDZN_wAmV-XeRh57ca9TuqX-7sZUU-TmrpL1BqYuEc,31522
|
208
211
|
ultralytics/solutions/speed_estimation.py,sha256=3UFtGXKNUy1jt6GS4wg4hvkQoQ4KkOHXjzMpmSHodx0,5126
|
209
212
|
ultralytics/solutions/streamlit_inference.py,sha256=M0ppTFInqSPrdytZBLH8x-XoA7zFc7PaRQ51wHG9ppU,9846
|
210
213
|
ultralytics/solutions/trackzone.py,sha256=05XVTQVCGHFAuFNPzyv0VXKQSJKiyWkU6zkXVo4_dxw,3792
|
@@ -212,45 +215,45 @@ ultralytics/solutions/vision_eye.py,sha256=cFjex7mau20Ww4Cuq9lbaAidVTByXk7nhZ0KV
|
|
212
215
|
ultralytics/trackers/__init__.py,sha256=Zlu_Ig5osn7hqch_g5Be_e4pwZUkeeTQiesJCi0pFGI,255
|
213
216
|
ultralytics/trackers/basetrack.py,sha256=LYvWB5d7Woyrz_RlxaopjV07RQKH3sff_lZJfMcMxcA,4450
|
214
217
|
ultralytics/trackers/bot_sort.py,sha256=BuySzVBqQS6P4spoAKjE2a64e5CvmymbN7gVLU_4bjs,10425
|
215
|
-
ultralytics/trackers/byte_tracker.py,sha256=
|
218
|
+
ultralytics/trackers/byte_tracker.py,sha256=Z1wmrvbA_GcAMW0IitBg_voSe7Pxm-ZzmupvGtTQOPU,20853
|
216
219
|
ultralytics/trackers/track.py,sha256=URALIdE8H0RBaAx7ClQ7oFEGeboY5cjIs6_yIwge-xU,4062
|
217
220
|
ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
218
|
-
ultralytics/trackers/utils/gmc.py,sha256=
|
221
|
+
ultralytics/trackers/utils/gmc.py,sha256=dz3I5LbIv7h1__Xg7rGHecQFE32VFTe54tUnxb8F0Z8,14466
|
219
222
|
ultralytics/trackers/utils/kalman_filter.py,sha256=A0CqOnnaKH6kr0XwuHzyHmIU6aJAjJYxF9jVlNBKZHo,21326
|
220
223
|
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=
|
224
|
+
ultralytics/utils/__init__.py,sha256=oH-D2pJrrOzZuYNUrnBlJhwnSz5WUcud8_pAZs1M8KA,50423
|
225
|
+
ultralytics/utils/autobatch.py,sha256=VZTIKLWeFZFwBHJmbiCn3MaxoFp89hLR0DSCR_iLXJg,4913
|
226
|
+
ultralytics/utils/benchmarks.py,sha256=L7rpcnVAnk2doGNJMhXcDqypPLiz0taZ3bDv850IZkU,30404
|
227
|
+
ultralytics/utils/checks.py,sha256=lE1V-lkvEd8sUYKYfgt3YJoqWd3dJT5-1DeHAQTMm88,32541
|
225
228
|
ultralytics/utils/dist.py,sha256=e-DK_YowV7D9rDGQyWR9Kaosxp2eWe2EogSWnnUMthc,4098
|
226
|
-
ultralytics/utils/downloads.py,sha256=
|
229
|
+
ultralytics/utils/downloads.py,sha256=Bxg9i0coiQTaYztYtc1tXKH3qpg8lV-ywXPSbT121hU,22125
|
227
230
|
ultralytics/utils/errors.py,sha256=vY9h2evFSrHnZdHJVVrmm8Zzw4qVDLyo9DeYW5g0dFk,1573
|
228
|
-
ultralytics/utils/export.py,sha256=
|
231
|
+
ultralytics/utils/export.py,sha256=mTkebwilsT1jwIfTLgAQdkbrnZr9Sm96W-Vi7B1j5wQ,8817
|
229
232
|
ultralytics/utils/files.py,sha256=0K4O1cgqRiXaDw7EQK13TqA5SME_RrvfDVQSPetNr5w,8042
|
230
233
|
ultralytics/utils/instance.py,sha256=UOEsXR9V-bXNRk6BTonASBEgeMqvzzAk4S7VdXZJUAM,18090
|
231
234
|
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=
|
235
|
+
ultralytics/utils/metrics.py,sha256=uv5O-2Ft8wYfTvDedFxiUqMZ6Nr2CL6I9ybGZiK3e2s,53773
|
236
|
+
ultralytics/utils/ops.py,sha256=9QCSbEcgJPcBAp3lw4esof93aOHBadS3hN18gaMjC-M,34200
|
237
|
+
ultralytics/utils/patches.py,sha256=qArRoYscf7jph-OwIYJAAkOB5bAM6pcktgXKc76A8HE,4860
|
238
|
+
ultralytics/utils/plotting.py,sha256=5QPK1y-gm4T1mK3sjfRZhIUJAyP05D1cJ7h9wHPTifU,46616
|
239
|
+
ultralytics/utils/tal.py,sha256=P5nPoR9qNnFuDIda0fsn8WP6m1V8r7EbvXUuhNRFFTA,20805
|
240
|
+
ultralytics/utils/torch_utils.py,sha256=OqH2yNSghs0JSq16Br_PDBnVed5ZRs0C58zDZDk_bqA,38888
|
238
241
|
ultralytics/utils/triton.py,sha256=xK9Db_ZUVDnIK1u76S2G-6ulIBsLfj9HN_YOaSrnMuU,5304
|
239
|
-
ultralytics/utils/tuner.py,sha256=
|
242
|
+
ultralytics/utils/tuner.py,sha256=R_TVIfsTA8qxEPiqHBCZgh1rzqAAOwQ1gImw-0IR13g,6682
|
240
243
|
ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
|
241
244
|
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=
|
245
|
+
ultralytics/utils/callbacks/clearml.py,sha256=z-MmCALz1FcNSec8CmDiFHkRd_zTzzuPDCidq_xkUXY,5990
|
246
|
+
ultralytics/utils/callbacks/comet.py,sha256=_j8tKKxGlxDcw_Rx4Ow2PjZ3UpBHm9gLJlYSVU0WJ_E,22221
|
247
|
+
ultralytics/utils/callbacks/dvc.py,sha256=NywyiMqJfnK_UfJ_f1IK31puyIXZy0iVJQ4bB9uyu08,7532
|
245
248
|
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=
|
249
|
+
ultralytics/utils/callbacks/mlflow.py,sha256=rcjjN_QVg6XoL4Kbw8YqC28RDCQMs0LxfsXRpAc8BgY,5430
|
250
|
+
ultralytics/utils/callbacks/neptune.py,sha256=JaI95Cj2kIjUhlEEOiDN0-Drc-fDelLhNI2gf1jHuvk,4665
|
248
251
|
ultralytics/utils/callbacks/raytune.py,sha256=A8amUGpux7dYES-L1iSeMoMXBySGWCD1aUqT7vcG-pU,1284
|
249
|
-
ultralytics/utils/callbacks/tensorboard.py,sha256=
|
252
|
+
ultralytics/utils/callbacks/tensorboard.py,sha256=jgYnym3cUQFAgN1GzTyO7l3jINtfAh8zhrllDvnLuVQ,5339
|
250
253
|
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.
|
254
|
+
ultralytics-8.3.113.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
255
|
+
ultralytics-8.3.113.dist-info/METADATA,sha256=GIjS16RqWNypO6Ub9fmk_Z8gzmTAmFubqpOUzi3ae-4,37354
|
256
|
+
ultralytics-8.3.113.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
257
|
+
ultralytics-8.3.113.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
258
|
+
ultralytics-8.3.113.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
259
|
+
ultralytics-8.3.113.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|