ultralytics 8.3.153__py3-none-any.whl → 8.3.154__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.
- tests/test_python.py +1 -0
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/__init__.py +2 -0
- ultralytics/engine/predictor.py +1 -1
- ultralytics/engine/validator.py +0 -6
- ultralytics/models/fastsam/val.py +0 -2
- ultralytics/models/rtdetr/val.py +28 -16
- ultralytics/models/yolo/classify/val.py +26 -23
- ultralytics/models/yolo/detect/train.py +4 -7
- ultralytics/models/yolo/detect/val.py +88 -90
- ultralytics/models/yolo/obb/val.py +52 -44
- ultralytics/models/yolo/pose/train.py +1 -35
- ultralytics/models/yolo/pose/val.py +77 -176
- ultralytics/models/yolo/segment/train.py +1 -41
- ultralytics/models/yolo/segment/val.py +64 -176
- ultralytics/models/yolo/yoloe/val.py +2 -1
- ultralytics/nn/autobackend.py +2 -2
- ultralytics/solutions/ai_gym.py +2 -3
- ultralytics/solutions/solutions.py +2 -0
- ultralytics/solutions/templates/similarity-search.html +31 -0
- ultralytics/utils/callbacks/comet.py +1 -1
- ultralytics/utils/metrics.py +146 -317
- ultralytics/utils/ops.py +4 -4
- ultralytics/utils/plotting.py +31 -56
- {ultralytics-8.3.153.dist-info → ultralytics-8.3.154.dist-info}/METADATA +1 -1
- {ultralytics-8.3.153.dist-info → ultralytics-8.3.154.dist-info}/RECORD +30 -30
- {ultralytics-8.3.153.dist-info → ultralytics-8.3.154.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.153.dist-info → ultralytics-8.3.154.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.153.dist-info → ultralytics-8.3.154.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.153.dist-info → ultralytics-8.3.154.dist-info}/top_level.txt +0 -0
ultralytics/utils/ops.py
CHANGED
@@ -255,7 +255,7 @@ def non_max_suppression(
|
|
255
255
|
|
256
256
|
bs = prediction.shape[0] # batch size (BCN, i.e. 1,84,6300)
|
257
257
|
nc = nc or (prediction.shape[1] - 4) # number of classes
|
258
|
-
|
258
|
+
extra = prediction.shape[1] - nc - 4 # number of extra info
|
259
259
|
mi = 4 + nc # mask start index
|
260
260
|
xc = prediction[:, 4:mi].amax(1) > conf_thres # candidates
|
261
261
|
xinds = torch.stack([torch.arange(len(i), device=prediction.device) for i in xc])[..., None] # to track idxs
|
@@ -273,7 +273,7 @@ def non_max_suppression(
|
|
273
273
|
prediction = torch.cat((xywh2xyxy(prediction[..., :4]), prediction[..., 4:]), dim=-1) # xywh to xyxy
|
274
274
|
|
275
275
|
t = time.time()
|
276
|
-
output = [torch.zeros((0, 6 +
|
276
|
+
output = [torch.zeros((0, 6 + extra), device=prediction.device)] * bs
|
277
277
|
keepi = [torch.zeros((0, 1), device=prediction.device)] * bs # to store the kept idxs
|
278
278
|
for xi, (x, xk) in enumerate(zip(prediction, xinds)): # image index, (preds, preds indices)
|
279
279
|
# Apply constraints
|
@@ -284,7 +284,7 @@ def non_max_suppression(
|
|
284
284
|
# Cat apriori labels if autolabelling
|
285
285
|
if labels and len(labels[xi]) and not rotated:
|
286
286
|
lb = labels[xi]
|
287
|
-
v = torch.zeros((len(lb), nc +
|
287
|
+
v = torch.zeros((len(lb), nc + extra + 4), device=x.device)
|
288
288
|
v[:, :4] = xywh2xyxy(lb[:, 1:5]) # box
|
289
289
|
v[range(len(lb)), lb[:, 0].long() + 4] = 1.0 # cls
|
290
290
|
x = torch.cat((x, v), 0)
|
@@ -294,7 +294,7 @@ def non_max_suppression(
|
|
294
294
|
continue
|
295
295
|
|
296
296
|
# Detections matrix nx6 (xyxy, conf, cls)
|
297
|
-
box, cls, mask = x.split((4, nc,
|
297
|
+
box, cls, mask = x.split((4, nc, extra), 1)
|
298
298
|
|
299
299
|
if multi_label:
|
300
300
|
i, j = torch.where(cls > conf_thres)
|
ultralytics/utils/plotting.py
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
import math
|
4
4
|
import warnings
|
5
5
|
from pathlib import Path
|
6
|
-
from typing import Callable, Dict, List, Optional, Union
|
6
|
+
from typing import Any, Callable, Dict, List, Optional, Union
|
7
7
|
|
8
8
|
import cv2
|
9
9
|
import numpy as np
|
@@ -678,13 +678,8 @@ def save_one_box(
|
|
678
678
|
|
679
679
|
@threaded
|
680
680
|
def plot_images(
|
681
|
-
|
682
|
-
|
683
|
-
cls: Union[torch.Tensor, np.ndarray],
|
684
|
-
bboxes: Union[torch.Tensor, np.ndarray] = np.zeros(0, dtype=np.float32),
|
685
|
-
confs: Optional[Union[torch.Tensor, np.ndarray]] = None,
|
686
|
-
masks: Union[torch.Tensor, np.ndarray] = np.zeros(0, dtype=np.uint8),
|
687
|
-
kpts: Union[torch.Tensor, np.ndarray] = np.zeros((0, 51), dtype=np.float32),
|
681
|
+
labels: Dict[str, Any],
|
682
|
+
images: Union[torch.Tensor, np.ndarray] = np.zeros((0, 3, 640, 640), dtype=np.float32),
|
688
683
|
paths: Optional[List[str]] = None,
|
689
684
|
fname: str = "images.jpg",
|
690
685
|
names: Optional[Dict[int, str]] = None,
|
@@ -698,21 +693,16 @@ def plot_images(
|
|
698
693
|
Plot image grid with labels, bounding boxes, masks, and keypoints.
|
699
694
|
|
700
695
|
Args:
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
on_plot: Optional callback function to be called after saving the plot.
|
712
|
-
max_size: Maximum size of the output image grid.
|
713
|
-
max_subplots: Maximum number of subplots in the image grid.
|
714
|
-
save: Whether to save the plotted image grid to a file.
|
715
|
-
conf_thres: Confidence threshold for displaying detections.
|
696
|
+
labels (Dict[str, Any]): Dictionary containing detection data with keys like 'cls', 'bboxes', 'conf', 'masks', 'keypoints', 'batch_idx', 'img'.
|
697
|
+
images (Union[torch.Tensor, np.ndarray]): Batch of images to plot. Shape: (batch_size, channels, height, width).
|
698
|
+
paths (Optional[List[str]]): List of file paths for each image in the batch.
|
699
|
+
fname (str): Output filename for the plotted image grid.
|
700
|
+
names (Optional[Dict[int, str]]): Dictionary mapping class indices to class names.
|
701
|
+
on_plot (Optional[Callable]): Optional callback function to be called after saving the plot.
|
702
|
+
max_size (int): Maximum size of the output image grid.
|
703
|
+
max_subplots (int): Maximum number of subplots in the image grid.
|
704
|
+
save (bool): Whether to save the plotted image grid to a file.
|
705
|
+
conf_thres (float): Confidence threshold for displaying detections.
|
716
706
|
|
717
707
|
Returns:
|
718
708
|
(np.ndarray): Plotted image grid as a numpy array if save is False, None otherwise.
|
@@ -721,18 +711,24 @@ def plot_images(
|
|
721
711
|
This function supports both tensor and numpy array inputs. It will automatically
|
722
712
|
convert tensor inputs to numpy arrays for processing.
|
723
713
|
"""
|
724
|
-
|
714
|
+
for k in {"cls", "bboxes", "conf", "masks", "keypoints", "batch_idx", "images"}:
|
715
|
+
if k not in labels:
|
716
|
+
continue
|
717
|
+
if k == "cls" and labels[k].ndim == 2:
|
718
|
+
labels[k] = labels[k].squeeze(1) # squeeze if shape is (n, 1)
|
719
|
+
if isinstance(labels[k], torch.Tensor):
|
720
|
+
labels[k] = labels[k].cpu().numpy()
|
721
|
+
|
722
|
+
cls = labels.get("cls", np.zeros(0, dtype=np.int64))
|
723
|
+
batch_idx = labels.get("batch_idx", np.zeros(cls.shape, dtype=np.int64))
|
724
|
+
bboxes = labels.get("bboxes", np.zeros(0, dtype=np.float32))
|
725
|
+
confs = labels.get("conf", None)
|
726
|
+
masks = labels.get("masks", np.zeros(0, dtype=np.uint8))
|
727
|
+
kpts = labels.get("keypoints", np.zeros(0, dtype=np.float32))
|
728
|
+
images = labels.get("img", images) # default to input images
|
729
|
+
|
730
|
+
if len(images) and isinstance(images, torch.Tensor):
|
725
731
|
images = images.cpu().float().numpy()
|
726
|
-
if isinstance(cls, torch.Tensor):
|
727
|
-
cls = cls.cpu().numpy()
|
728
|
-
if isinstance(bboxes, torch.Tensor):
|
729
|
-
bboxes = bboxes.cpu().numpy()
|
730
|
-
if isinstance(masks, torch.Tensor):
|
731
|
-
masks = masks.cpu().numpy().astype(int)
|
732
|
-
if isinstance(kpts, torch.Tensor):
|
733
|
-
kpts = kpts.cpu().numpy()
|
734
|
-
if isinstance(batch_idx, torch.Tensor):
|
735
|
-
batch_idx = batch_idx.cpu().numpy()
|
736
732
|
if images.shape[1] > 3:
|
737
733
|
images = images[:, :3] # crop multispectral images to first 3 channels
|
738
734
|
|
@@ -781,6 +777,7 @@ def plot_images(
|
|
781
777
|
boxes[..., 0] += x
|
782
778
|
boxes[..., 1] += y
|
783
779
|
is_obb = boxes.shape[-1] == 5 # xywhr
|
780
|
+
# TODO: this transformation might be unnecessary
|
784
781
|
boxes = ops.xywhr2xyxyxyxy(boxes) if is_obb else ops.xywh2xyxy(boxes)
|
785
782
|
for j, box in enumerate(boxes.astype(np.int64).tolist()):
|
786
783
|
c = classes[j]
|
@@ -1004,28 +1001,6 @@ def plot_tune_results(csv_file: str = "tune_results.csv"):
|
|
1004
1001
|
_save_one_file(csv_file.with_name("tune_fitness.png"))
|
1005
1002
|
|
1006
1003
|
|
1007
|
-
def output_to_target(output, max_det: int = 300):
|
1008
|
-
"""Convert model output to target format [batch_id, class_id, x, y, w, h, conf] for plotting."""
|
1009
|
-
targets = []
|
1010
|
-
for i, o in enumerate(output):
|
1011
|
-
box, conf, cls = o[:max_det, :6].cpu().split((4, 1, 1), 1)
|
1012
|
-
j = torch.full((conf.shape[0], 1), i)
|
1013
|
-
targets.append(torch.cat((j, cls, ops.xyxy2xywh(box), conf), 1))
|
1014
|
-
targets = torch.cat(targets, 0).numpy()
|
1015
|
-
return targets[:, 0], targets[:, 1], targets[:, 2:-1], targets[:, -1]
|
1016
|
-
|
1017
|
-
|
1018
|
-
def output_to_rotated_target(output, max_det: int = 300):
|
1019
|
-
"""Convert model output to target format [batch_id, class_id, x, y, w, h, conf] for plotting."""
|
1020
|
-
targets = []
|
1021
|
-
for i, o in enumerate(output):
|
1022
|
-
box, conf, cls, angle = o[:max_det].cpu().split((4, 1, 1, 1), 1)
|
1023
|
-
j = torch.full((conf.shape[0], 1), i)
|
1024
|
-
targets.append(torch.cat((j, cls, box, angle, conf), 1))
|
1025
|
-
targets = torch.cat(targets, 0).numpy()
|
1026
|
-
return targets[:, 0], targets[:, 1], targets[:, 2:-1], targets[:, -1]
|
1027
|
-
|
1028
|
-
|
1029
1004
|
def feature_visualization(x, module_type: str, stage: int, n: int = 32, save_dir: Path = Path("runs/detect/exp")):
|
1030
1005
|
"""
|
1031
1006
|
Visualize feature maps of a given model module during inference.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.154
|
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>
|
@@ -5,12 +5,12 @@ tests/test_cuda.py,sha256=-nQsfF3lGfqLm6cIeu_BCiXqLj7HzpL7R1GzPEc6z2I,8128
|
|
5
5
|
tests/test_engine.py,sha256=Jpt2KVrltrEgh2-3Ykouz-2Z_2fza0eymL5ectRXadM,4922
|
6
6
|
tests/test_exports.py,sha256=HmMKOTCia9ZDC0VYc_EPmvBTM5LM5eeI1NF_pKjLpd8,9677
|
7
7
|
tests/test_integrations.py,sha256=cQfgueFhEZ8Xs-tF0uiIEhvn0DlhOH-Wqrx96LXp3D0,6303
|
8
|
-
tests/test_python.py,sha256=
|
8
|
+
tests/test_python.py,sha256=nOoaPDg-0j7ZPRz9-uGFny3uocxjUM1ze5wA3BpGxKQ,27865
|
9
9
|
tests/test_solutions.py,sha256=tuf6n_fsI8KvSdJrnc-cqP2qYdiYqCWuVrx0z9dOz3Q,13213
|
10
|
-
ultralytics/__init__.py,sha256=
|
10
|
+
ultralytics/__init__.py,sha256=0ApCLr1tPm8ret7Z-tWq7TY1z-OfOAvVVTXYnqjw5Fk,730
|
11
11
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
12
12
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
13
|
-
ultralytics/cfg/__init__.py,sha256=
|
13
|
+
ultralytics/cfg/__init__.py,sha256=ds63URbbeRj5UxkCSyl62OrNw6HQy7xeit5-0wGDEKg,39699
|
14
14
|
ultralytics/cfg/default.yaml,sha256=oFG6llJO-Py5H-cR9qs-7FieJamroDLwpbrkhmfROOM,8307
|
15
15
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=_xlEDIJ9XkUo0v_iNL7FW079BoSeZtKSuLteKTtGbA8,3275
|
16
16
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
|
@@ -121,11 +121,11 @@ ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQ
|
|
121
121
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
122
122
|
ultralytics/engine/exporter.py,sha256=rcLRaEWzPGGtAarfasw14HwQAypNng-QnsHj8U1vz_k,73909
|
123
123
|
ultralytics/engine/model.py,sha256=DwugtVxUbCGzpY2pStFMcEloim0ai6LrT6kTbwskSJ8,53302
|
124
|
-
ultralytics/engine/predictor.py,sha256=
|
124
|
+
ultralytics/engine/predictor.py,sha256=88zrgZP91ehwdeGl8BM_cQ_caeuwKIPDy3OzxcRBjTU,22474
|
125
125
|
ultralytics/engine/results.py,sha256=Mb8pBTOrBtQh0PQtGVbhRZ_C1VyqYFumjLggiKCRIJs,72295
|
126
126
|
ultralytics/engine/trainer.py,sha256=28FeqASvQRxCaK96SXDM-BfPJjqy5KNiWhf8v6GXTug,39785
|
127
127
|
ultralytics/engine/tuner.py,sha256=4ue7JbMFQp7JcWhhwCAY-b-xZsjm5VKVlPFDUTyxt_8,12789
|
128
|
-
ultralytics/engine/validator.py,sha256=
|
128
|
+
ultralytics/engine/validator.py,sha256=qftJUomb4A-6rSThtST3TccEbc_zTmzovCBBCSpYm3k,16671
|
129
129
|
ultralytics/hub/__init__.py,sha256=ulPtceI3hqud03mvqoXccBaa1e4nveYwC9cddyuBUlo,6599
|
130
130
|
ultralytics/hub/auth.py,sha256=5uMPzZt8aO-YsnEWADzc1qBUt9c30RTIfrGo5SWTrv4,6271
|
131
131
|
ultralytics/hub/session.py,sha256=UeUSRbdclSBPJQfpSNGeY13gb1O2Bhzh0Aj7cXum6P4,18518
|
@@ -136,7 +136,7 @@ ultralytics/models/fastsam/__init__.py,sha256=HGJ8EKlBAsdF-e2aIwQLjSDAFI_r0yHR0A
|
|
136
136
|
ultralytics/models/fastsam/model.py,sha256=4Aazwv3tUYLxqyoEwZ2FLiZnOXwLlFEdSfqpltQwxzg,3439
|
137
137
|
ultralytics/models/fastsam/predict.py,sha256=G-o8hs8W5XmqSN5G37zi6q9FglFnZSbD6qH_1KIIXwY,8965
|
138
138
|
ultralytics/models/fastsam/utils.py,sha256=yuCXB4CVjRx8lDf61DP8B6qMx7TVf7AynQvdWREeFco,884
|
139
|
-
ultralytics/models/fastsam/val.py,sha256=
|
139
|
+
ultralytics/models/fastsam/val.py,sha256=oLxB8vBKTfiT7eBbTzvpqq_xNSvDOjGdP1J7egHGsCA,2041
|
140
140
|
ultralytics/models/nas/__init__.py,sha256=wybeHZuAXMNeXMjKTbK55FZmXJkA4K9IozDeFM9OB-s,207
|
141
141
|
ultralytics/models/nas/model.py,sha256=kQeF3mkVHLLsoTL9F32CrYITNsdbTrYF6lEgHclhKN0,3824
|
142
142
|
ultralytics/models/nas/predict.py,sha256=J4UT7nwi_h63lJ3a_gYac-Ws8wFYingZINxMqSoaX5E,2706
|
@@ -145,7 +145,7 @@ ultralytics/models/rtdetr/__init__.py,sha256=_jEHmOjI_QP_nT3XJXLgYHQ6bXG4EL8Gnvn
|
|
145
145
|
ultralytics/models/rtdetr/model.py,sha256=e2u6kQEYawRXGGO6HbFDE1uyHfsIqvKk4IpVjjYN41k,2182
|
146
146
|
ultralytics/models/rtdetr/predict.py,sha256=_jk9ZkIW0gNLUHYyRCz_n9UgGnMTtTkFZ3Pzmkbyjgw,4197
|
147
147
|
ultralytics/models/rtdetr/train.py,sha256=6FA3nDEcH1diFQ8Ky0xENp9cOOYATHxU6f42z9npMvs,3766
|
148
|
-
ultralytics/models/rtdetr/val.py,sha256=
|
148
|
+
ultralytics/models/rtdetr/val.py,sha256=MGzHWMfVDx9KPgaK09nvuHfXRQ6FagpzEyNO1R_8Xp8,9495
|
149
149
|
ultralytics/models/sam/__init__.py,sha256=iR7B06rAEni21eptg8n4rLOP0Z_qV9y9PL-L93n4_7s,266
|
150
150
|
ultralytics/models/sam/amg.py,sha256=IpcuIfC5KBRiF4sdrsPl1ecWEJy75axo1yG23r5BFsw,11783
|
151
151
|
ultralytics/models/sam/build.py,sha256=J6n-_QOYLa63jldEZmhRe9D3Is_AJE8xyZLUjzfRyTY,12629
|
@@ -168,23 +168,23 @@ ultralytics/models/yolo/model.py,sha256=C0wInQC6rFuFOGpdAen1s2e5LIFDmqevto8uPbpm
|
|
168
168
|
ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
|
169
169
|
ultralytics/models/yolo/classify/predict.py,sha256=_GiN6muuZOBrMS1KER85FE4ktcw_Onn1bZdGvpbsGCE,4618
|
170
170
|
ultralytics/models/yolo/classify/train.py,sha256=jXErkxnsC3pBFQBrFxObF8BJyqkckcw3C_qHMSWZrsY,10312
|
171
|
-
ultralytics/models/yolo/classify/val.py,sha256=
|
171
|
+
ultralytics/models/yolo/classify/val.py,sha256=YakPxBVZCd85Kp4wFKx8KH6JJFiU7nkFS3r9_ZSwFRM,10036
|
172
172
|
ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
|
173
173
|
ultralytics/models/yolo/detect/predict.py,sha256=ySUsdIf8dw00bzWhcxN1jZwLWKPRT2M7-N7TNL3o4zo,5387
|
174
|
-
ultralytics/models/yolo/detect/train.py,sha256=
|
175
|
-
ultralytics/models/yolo/detect/val.py,sha256=
|
174
|
+
ultralytics/models/yolo/detect/train.py,sha256=o-CrBJMg8G-4eGuVv3ondR6gGvvpD7slPFJO_s2xJQc,9724
|
175
|
+
ultralytics/models/yolo/detect/val.py,sha256=1w7sP4GQEIdSq_D26fTtqD4t8K_YlAu_GhCUM6uw4_0,19323
|
176
176
|
ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
|
177
177
|
ultralytics/models/yolo/obb/predict.py,sha256=4r1eSld6TNJlk9JG56e-DX6oPL8uBBqiuztyBpxWlHE,2888
|
178
178
|
ultralytics/models/yolo/obb/train.py,sha256=bnYFAMur7Uvbw5Dc09-S2ge7B05iGX-t37Ksgc0ef6g,3921
|
179
|
-
ultralytics/models/yolo/obb/val.py,sha256=
|
179
|
+
ultralytics/models/yolo/obb/val.py,sha256=nT82lKXewUw3bgX45Ms045rzcYn2A1j8g3Dxig2c-FU,14844
|
180
180
|
ultralytics/models/yolo/pose/__init__.py,sha256=63xmuHZLNzV8I76HhVXAq4f2W0KTk8Oi9eL-Y204LyQ,227
|
181
181
|
ultralytics/models/yolo/pose/predict.py,sha256=oePbV_IVRt0xPcTiycFAIixiX7bScth0d1uOOtdeErU,3773
|
182
|
-
ultralytics/models/yolo/pose/train.py,sha256=
|
183
|
-
ultralytics/models/yolo/pose/val.py,sha256=
|
182
|
+
ultralytics/models/yolo/pose/train.py,sha256=GyvNnDPJ3UFq_90HN8_FJ0dbwRkw3JJTVpkMFH0vC0o,5457
|
183
|
+
ultralytics/models/yolo/pose/val.py,sha256=1QI76KpwY6RBh-rrmBZRQC5uqb8nGMYYWT28dysrlaA,15390
|
184
184
|
ultralytics/models/yolo/segment/__init__.py,sha256=3IThhZ1wlkY9FvmWm9cE-5-ZyE6F1FgzAtQ6jOOFzzw,275
|
185
185
|
ultralytics/models/yolo/segment/predict.py,sha256=qlprQCZn4_bpjpI08U0MU9Q9_1gpHrw_7MXwtXE1l1Y,5377
|
186
|
-
ultralytics/models/yolo/segment/train.py,sha256=
|
187
|
-
ultralytics/models/yolo/segment/val.py,sha256=
|
186
|
+
ultralytics/models/yolo/segment/train.py,sha256=XrPkXUiNu1Jvhn8iDew_RaLLjZA3un65rK-QH9mtNIw,3802
|
187
|
+
ultralytics/models/yolo/segment/val.py,sha256=TogiMRQjT-_swxf3dnFghlN0UA8ZC383nkuBg04oJGw,14532
|
188
188
|
ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
|
189
189
|
ultralytics/models/yolo/world/train.py,sha256=94_hgCluzsv39JkBVDmR2gjuycYjeJC8wVrCfrjpENk,7806
|
190
190
|
ultralytics/models/yolo/world/train_world.py,sha256=YJm37ZTgr0CoE_sYrjxN45w9mICr2RMWfWZrriiHqbM,9022
|
@@ -192,9 +192,9 @@ ultralytics/models/yolo/yoloe/__init__.py,sha256=6SLytdJtwu37qewf7CobG7C7Wl1m-xt
|
|
192
192
|
ultralytics/models/yolo/yoloe/predict.py,sha256=TAcT6fiWbV-jOewu9hx_shGI10VLF_6oSPf7jfatBWo,7041
|
193
193
|
ultralytics/models/yolo/yoloe/train.py,sha256=Dt6orqXcQTzyoAqMVvleP1FQbXChMvEj3QtxIctr3A0,14047
|
194
194
|
ultralytics/models/yolo/yoloe/train_seg.py,sha256=aCV7M8oQOvODFnU4piZdJh3tIrBJYAzZfRVRx1vRgxo,4956
|
195
|
-
ultralytics/models/yolo/yoloe/val.py,sha256=
|
195
|
+
ultralytics/models/yolo/yoloe/val.py,sha256=yebPkxwKKt__cY05Zbh1YXg4_BKzzpcDc3Cv3FJ5SAA,9769
|
196
196
|
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
197
|
-
ultralytics/nn/autobackend.py,sha256=
|
197
|
+
ultralytics/nn/autobackend.py,sha256=smyYoozUOtXPNKW9Rd24dZX-EY36CDvXMr7xH-uLEs0,41256
|
198
198
|
ultralytics/nn/tasks.py,sha256=epmYC6psquUnmsAantY9j7O6EnIyeSVjbqkQtKSnpCQ,72484
|
199
199
|
ultralytics/nn/text_model.py,sha256=m4jDB5bzOLOS8XNmFi9oQk-skzRHiIpJy4K-_SIARR0,13498
|
200
200
|
ultralytics/nn/modules/__init__.py,sha256=2nY0X69Z5DD5SWt6v3CUTZa5gXSzC9TQr3VTVqhyGho,3158
|
@@ -205,7 +205,7 @@ ultralytics/nn/modules/head.py,sha256=zTXFXc46ljPdP3mjgH7B3y2bPIjvbVPtgTu_rQCV8x
|
|
205
205
|
ultralytics/nn/modules/transformer.py,sha256=PW5-6gzOP3_rZ_uAkmxvI42nU5bkrgbgLKCy5PC5px4,31415
|
206
206
|
ultralytics/nn/modules/utils.py,sha256=rn8yTObZGkQoqVzjbZWLaHiytppG4ffjMME4Lw60glM,6092
|
207
207
|
ultralytics/solutions/__init__.py,sha256=ZoeAQavTLp8aClnhZ9tbl6lxy86GxofyGvZWTx2aWkI,1209
|
208
|
-
ultralytics/solutions/ai_gym.py,sha256=
|
208
|
+
ultralytics/solutions/ai_gym.py,sha256=FM2JCRtqAIfOgUpvSsSER2XZsccZt0NmhUp2Si-_2gk,5162
|
209
209
|
ultralytics/solutions/analytics.py,sha256=IfYlXV4vufpaOZz9h8cT1Vx9RjsqQYTCB7SbDlR0zv0,12784
|
210
210
|
ultralytics/solutions/config.py,sha256=1HZvgWPt7duDxqAaOTyu4-TOBeRJeWx5EQgUwnyyO50,5394
|
211
211
|
ultralytics/solutions/distance_calculation.py,sha256=e2Xa7dVOqiuk43JNakoxQlX48evEgZiEtxdtHTdlAsk,5931
|
@@ -219,12 +219,12 @@ ultralytics/solutions/queue_management.py,sha256=_K6ugLMDfpp37S-LFV36K3QXf3vqjfx
|
|
219
219
|
ultralytics/solutions/region_counter.py,sha256=8vNrr0SnEBJ7ngD_whWpD7jMlrzuYGWxUuZx3WOv0ys,5739
|
220
220
|
ultralytics/solutions/security_alarm.py,sha256=HXoPFlTOVp5eUecPuGIl_DXLKuN8-M32BCvCOd_vRac,6279
|
221
221
|
ultralytics/solutions/similarity_search.py,sha256=GdrPEpfBwLpM5Mx4XQiTrahgdQgiSIeGdHWWTLQl5xU,9926
|
222
|
-
ultralytics/solutions/solutions.py,sha256=
|
222
|
+
ultralytics/solutions/solutions.py,sha256=_o7J31k-RNjyaLs_4GniHTAXGwBEJos7oAr7kAuTiuM,37467
|
223
223
|
ultralytics/solutions/speed_estimation.py,sha256=_4tIfWPI7O_hYRQAvNrALMzdy2sBR5_0BxnPdJb0Gks,5823
|
224
224
|
ultralytics/solutions/streamlit_inference.py,sha256=menjJLsuP7AsQJSnBo7gRHfMlYE8HzMp0YNGqCU64n0,9986
|
225
225
|
ultralytics/solutions/trackzone.py,sha256=C51IgbNG_kGsTi04ZKUThLPYZXthP7Rad0ImSjKwa0g,3873
|
226
226
|
ultralytics/solutions/vision_eye.py,sha256=LCb-2YPVvEks9e7xqZtNGftpAXNaZhEUb5yb3N0ni_U,2952
|
227
|
-
ultralytics/solutions/templates/similarity-search.html,sha256=
|
227
|
+
ultralytics/solutions/templates/similarity-search.html,sha256=vdz9XCH6VHbksvSW_sSg6Z2xVp82_EanaS_rY7xjZBE,4743
|
228
228
|
ultralytics/trackers/__init__.py,sha256=Zlu_Ig5osn7hqch_g5Be_e4pwZUkeeTQiesJCi0pFGI,255
|
229
229
|
ultralytics/trackers/basetrack.py,sha256=-skBFFatzgJFAPN9Frm1u1h_RDUg3WOlxG6eHQxp2Gw,4384
|
230
230
|
ultralytics/trackers/bot_sort.py,sha256=knP5oo1LC45Lrato8LpcY_j4KBojQFP1lxT_NJxhEUo,12134
|
@@ -246,10 +246,10 @@ ultralytics/utils/export.py,sha256=ZmxiY5Y2MuL4iBFsLr8ykbUsnvT01DCs0Kg1w3_Ikac,9
|
|
246
246
|
ultralytics/utils/files.py,sha256=ZCbLGleiF0f-PqYfaxMFAWop88w7U1hpreHXl8b2ko0,8238
|
247
247
|
ultralytics/utils/instance.py,sha256=vhqaZRGT_4K9Q3oQH5KNNK4ISOzxlf1_JjauwhuFhu0,18408
|
248
248
|
ultralytics/utils/loss.py,sha256=fbOWc3Iu0QOJiWbi-mXWA9-1otTYlehtmUsI7os7ydM,39799
|
249
|
-
ultralytics/utils/metrics.py,sha256=
|
250
|
-
ultralytics/utils/ops.py,sha256=
|
249
|
+
ultralytics/utils/metrics.py,sha256=1XaTT3n3tfLms6LOCiEzg_QGHQJzjZmfjFoAYsCCc24,62646
|
250
|
+
ultralytics/utils/ops.py,sha256=Jkh80ujyi0XDQwNqCUYyomH8NQ145AH9doMUS8Vt8GE,34545
|
251
251
|
ultralytics/utils/patches.py,sha256=GI7NXCJ5H22FGp3sIvj5rrGfwdYNRWlxFcW-Jhjgius,5181
|
252
|
-
ultralytics/utils/plotting.py,sha256=
|
252
|
+
ultralytics/utils/plotting.py,sha256=OzanAqs7Z02ddAd1LiXce0Jjjo8DSjAjbKViE6S5CKg,47176
|
253
253
|
ultralytics/utils/tal.py,sha256=aXawOnhn8ni65tJWIW-PYqWr_TRvltbHBjrTo7o6lDQ,20924
|
254
254
|
ultralytics/utils/torch_utils.py,sha256=iIAjf2g4hikzBeHvKN-EQK8QFlC_QtWWRuYQuBF2zIk,39184
|
255
255
|
ultralytics/utils/triton.py,sha256=M7qe4RztiADBJQEWQKaIQsp94ERFJ_8_DUHDR6TXEOM,5410
|
@@ -257,7 +257,7 @@ ultralytics/utils/tuner.py,sha256=bHr09Fz-0-t0ei55gX5wJh-obyiAQoicP7HUVM2I8qA,68
|
|
257
257
|
ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
|
258
258
|
ultralytics/utils/callbacks/base.py,sha256=OJ6z4AYVCtXO-w6PSDRiwo1Tc2RYes-BzwKTsr9g_h0,6821
|
259
259
|
ultralytics/utils/callbacks/clearml.py,sha256=2_Iv-aJFD6oAlq2N3hOf1OhCQ7aAMpa5tBkSs1ZkruQ,6031
|
260
|
-
ultralytics/utils/callbacks/comet.py,sha256=
|
260
|
+
ultralytics/utils/callbacks/comet.py,sha256=Fz0CTj3oMRVyl16Iu81Zs_VX-C0L8EKJrARWhMkxOQA,23914
|
261
261
|
ultralytics/utils/callbacks/dvc.py,sha256=NV0DXMQ1B5Sk5fmh60QFUGkifrAz-vwit5qhdfsyqXc,7511
|
262
262
|
ultralytics/utils/callbacks/hub.py,sha256=1RmGiCaog1GoTya9OAyGELbQ2Lk5X3EWh7RYMxns0so,4177
|
263
263
|
ultralytics/utils/callbacks/mlflow.py,sha256=6K8I5zij1yq3TUW9c5BBQNqdzz3IXugQjwKoBOvV6ag,5344
|
@@ -265,9 +265,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=j8pecmlcsM8FGzLKWoBw5xUsi5t8E5HuxY
|
|
265
265
|
ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
|
266
266
|
ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
|
267
267
|
ultralytics/utils/callbacks/wb.py,sha256=Tm_-aRr2CN32MJkY9tylpMBJkb007-MSRNSQ7rDJ5QU,7521
|
268
|
-
ultralytics-8.3.
|
269
|
-
ultralytics-8.3.
|
270
|
-
ultralytics-8.3.
|
271
|
-
ultralytics-8.3.
|
272
|
-
ultralytics-8.3.
|
273
|
-
ultralytics-8.3.
|
268
|
+
ultralytics-8.3.154.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
269
|
+
ultralytics-8.3.154.dist-info/METADATA,sha256=fKlFj0w4cIS5AB9XWpiM9GQEgIzo7B2E0x3oXwGABcs,37200
|
270
|
+
ultralytics-8.3.154.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
271
|
+
ultralytics-8.3.154.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
272
|
+
ultralytics-8.3.154.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
273
|
+
ultralytics-8.3.154.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|