ultralytics 8.1.46__py3-none-any.whl → 8.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ultralytics might be problematic. Click here for more details.
- ultralytics/__init__.py +1 -1
- ultralytics/data/augment.py +1 -0
- ultralytics/data/base.py +1 -0
- ultralytics/data/build.py +1 -0
- ultralytics/data/dataset.py +1 -0
- ultralytics/data/explorer/explorer.py +2 -1
- ultralytics/engine/exporter.py +7 -10
- ultralytics/engine/model.py +6 -1
- ultralytics/hub/session.py +17 -0
- ultralytics/models/fastsam/model.py +1 -0
- ultralytics/models/nas/model.py +1 -0
- ultralytics/models/rtdetr/train.py +1 -0
- ultralytics/models/sam/build.py +1 -0
- ultralytics/models/sam/model.py +1 -0
- ultralytics/models/sam/predict.py +1 -0
- ultralytics/models/utils/loss.py +1 -0
- ultralytics/nn/autobackend.py +6 -2
- ultralytics/nn/modules/head.py +1 -0
- ultralytics/solutions/object_counter.py +1 -1
- ultralytics/trackers/byte_tracker.py +2 -2
- ultralytics/trackers/track.py +1 -0
- ultralytics/utils/__init__.py +3 -2
- ultralytics/utils/benchmarks.py +4 -2
- ultralytics/utils/callbacks/base.py +0 -1
- ultralytics/utils/loss.py +1 -0
- ultralytics/utils/plotting.py +8 -8
- {ultralytics-8.1.46.dist-info → ultralytics-8.2.0.dist-info}/METADATA +2 -1
- {ultralytics-8.1.46.dist-info → ultralytics-8.2.0.dist-info}/RECORD +32 -32
- {ultralytics-8.1.46.dist-info → ultralytics-8.2.0.dist-info}/LICENSE +0 -0
- {ultralytics-8.1.46.dist-info → ultralytics-8.2.0.dist-info}/WHEEL +0 -0
- {ultralytics-8.1.46.dist-info → ultralytics-8.2.0.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.1.46.dist-info → ultralytics-8.2.0.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/data/augment.py
CHANGED
|
@@ -16,6 +16,7 @@ from ultralytics.utils.instance import Instances
|
|
|
16
16
|
from ultralytics.utils.metrics import bbox_ioa
|
|
17
17
|
from ultralytics.utils.ops import segment2box, xyxyxyxy2xywhr
|
|
18
18
|
from ultralytics.utils.torch_utils import TORCHVISION_0_10, TORCHVISION_0_11, TORCHVISION_0_13
|
|
19
|
+
|
|
19
20
|
from .utils import polygons2masks, polygons2masks_overlap
|
|
20
21
|
|
|
21
22
|
DEFAULT_MEAN = (0.0, 0.0, 0.0)
|
ultralytics/data/base.py
CHANGED
ultralytics/data/build.py
CHANGED
|
@@ -22,6 +22,7 @@ from ultralytics.data.loaders import (
|
|
|
22
22
|
from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS
|
|
23
23
|
from ultralytics.utils import RANK, colorstr
|
|
24
24
|
from ultralytics.utils.checks import check_file
|
|
25
|
+
|
|
25
26
|
from .dataset import GroundingDataset, YOLODataset, YOLOMultiModalDataset
|
|
26
27
|
from .utils import PIN_MEMORY
|
|
27
28
|
|
ultralytics/data/dataset.py
CHANGED
|
@@ -7,8 +7,8 @@ from typing import Any, List, Tuple, Union
|
|
|
7
7
|
import cv2
|
|
8
8
|
import numpy as np
|
|
9
9
|
import torch
|
|
10
|
-
from PIL import Image
|
|
11
10
|
from matplotlib import pyplot as plt
|
|
11
|
+
from PIL import Image
|
|
12
12
|
from tqdm import tqdm
|
|
13
13
|
|
|
14
14
|
from ultralytics.data.augment import Format
|
|
@@ -16,6 +16,7 @@ from ultralytics.data.dataset import YOLODataset
|
|
|
16
16
|
from ultralytics.data.utils import check_det_dataset
|
|
17
17
|
from ultralytics.models.yolo.model import YOLO
|
|
18
18
|
from ultralytics.utils import LOGGER, USER_CONFIG_DIR, IterableSimpleNamespace, checks
|
|
19
|
+
|
|
19
20
|
from .utils import get_sim_index_schema, get_table_schema, plot_query_result, prompt_sql_query, sanitize_batch
|
|
20
21
|
|
|
21
22
|
|
ultralytics/engine/exporter.py
CHANGED
|
@@ -529,16 +529,13 @@ class Exporter:
|
|
|
529
529
|
f"or in {ROOT}. See PNNX repo for full installation instructions."
|
|
530
530
|
)
|
|
531
531
|
system = "macos" if MACOS else "windows" if WINDOWS else "linux-aarch64" if ARM64 else "linux"
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
# LOGGER.warning(f"{prefix} WARNING ⚠️ PNNX GitHub assets not found: {e}, using default {url}")
|
|
540
|
-
|
|
541
|
-
url = f"https://github.com/pnnx/pnnx/releases/download/20240226/pnnx-20240226-{system}.zip"
|
|
532
|
+
try:
|
|
533
|
+
_, assets = get_github_assets(repo="pnnx/pnnx")
|
|
534
|
+
url = [x for x in assets if f"{system}.zip" in x][0]
|
|
535
|
+
assert url, "Unable to retrieve PNNX repo assets"
|
|
536
|
+
except Exception as e:
|
|
537
|
+
url = f"https://github.com/pnnx/pnnx/releases/download/20240410/pnnx-20240410-{system}.zip"
|
|
538
|
+
LOGGER.warning(f"{prefix} WARNING ⚠️ PNNX GitHub assets not found: {e}, using default {url}")
|
|
542
539
|
asset = attempt_download_asset(url, repo="pnnx/pnnx", release="latest")
|
|
543
540
|
if check_is_path_safe(Path.cwd(), asset): # avoid path traversal security vulnerability
|
|
544
541
|
unzip_dir = Path(asset).with_suffix("")
|
ultralytics/engine/model.py
CHANGED
|
@@ -641,7 +641,12 @@ class Model(nn.Module):
|
|
|
641
641
|
checks.check_pip_update_available()
|
|
642
642
|
|
|
643
643
|
overrides = yaml_load(checks.check_yaml(kwargs["cfg"])) if kwargs.get("cfg") else self.overrides
|
|
644
|
-
custom = {
|
|
644
|
+
custom = {
|
|
645
|
+
# NOTE: handle the case when 'cfg' includes 'data'.
|
|
646
|
+
"data": overrides.get("data") or DEFAULT_CFG_DICT["data"] or TASK2DATA[self.task],
|
|
647
|
+
"model": self.overrides["model"],
|
|
648
|
+
"task": self.task,
|
|
649
|
+
} # method defaults
|
|
645
650
|
args = {**overrides, **custom, **kwargs, "mode": "train"} # highest priority args on the right
|
|
646
651
|
if args.get("resume"):
|
|
647
652
|
args["resume"] = self.ckpt_path
|
ultralytics/hub/session.py
CHANGED
|
@@ -213,6 +213,7 @@ class HUBTrainingSession:
|
|
|
213
213
|
thread=True,
|
|
214
214
|
verbose=True,
|
|
215
215
|
progress_total=None,
|
|
216
|
+
stream_reponse=None,
|
|
216
217
|
*args,
|
|
217
218
|
**kwargs,
|
|
218
219
|
):
|
|
@@ -232,6 +233,8 @@ class HUBTrainingSession:
|
|
|
232
233
|
|
|
233
234
|
if progress_total:
|
|
234
235
|
self._show_upload_progress(progress_total, response)
|
|
236
|
+
elif stream_reponse:
|
|
237
|
+
self._iterate_content(response)
|
|
235
238
|
|
|
236
239
|
if HTTPStatus.OK <= response.status_code < HTTPStatus.MULTIPLE_CHOICES:
|
|
237
240
|
# if request related to metrics upload
|
|
@@ -335,6 +338,7 @@ class HUBTrainingSession:
|
|
|
335
338
|
timeout=3600,
|
|
336
339
|
thread=not final,
|
|
337
340
|
progress_total=progress_total,
|
|
341
|
+
stream_reponse=True,
|
|
338
342
|
)
|
|
339
343
|
else:
|
|
340
344
|
LOGGER.warning(f"{PREFIX}WARNING ⚠️ Model upload issue. Missing model {weights}.")
|
|
@@ -353,3 +357,16 @@ class HUBTrainingSession:
|
|
|
353
357
|
with TQDM(total=content_length, unit="B", unit_scale=True, unit_divisor=1024) as pbar:
|
|
354
358
|
for data in response.iter_content(chunk_size=1024):
|
|
355
359
|
pbar.update(len(data))
|
|
360
|
+
|
|
361
|
+
def _iterate_content(self, response: requests.Response) -> None:
|
|
362
|
+
"""
|
|
363
|
+
Process the streamed HTTP response data.
|
|
364
|
+
|
|
365
|
+
Args:
|
|
366
|
+
response (requests.Response): The response object from the file download request.
|
|
367
|
+
|
|
368
|
+
Returns:
|
|
369
|
+
None
|
|
370
|
+
"""
|
|
371
|
+
for data in response.iter_content(chunk_size=1024):
|
|
372
|
+
pass # Do nothing with data chunks
|
ultralytics/models/nas/model.py
CHANGED
ultralytics/models/sam/build.py
CHANGED
ultralytics/models/sam/model.py
CHANGED
|
@@ -17,6 +17,7 @@ from ultralytics.engine.predictor import BasePredictor
|
|
|
17
17
|
from ultralytics.engine.results import Results
|
|
18
18
|
from ultralytics.utils import DEFAULT_CFG, ops
|
|
19
19
|
from ultralytics.utils.torch_utils import select_device
|
|
20
|
+
|
|
20
21
|
from .amg import (
|
|
21
22
|
batch_iterator,
|
|
22
23
|
batched_mask_to_box,
|
ultralytics/models/utils/loss.py
CHANGED
ultralytics/nn/autobackend.py
CHANGED
|
@@ -14,7 +14,7 @@ import torch
|
|
|
14
14
|
import torch.nn as nn
|
|
15
15
|
from PIL import Image
|
|
16
16
|
|
|
17
|
-
from ultralytics.utils import ARM64, LINUX, LOGGER, ROOT, yaml_load
|
|
17
|
+
from ultralytics.utils import ARM64, IS_JETSON, IS_RASPBERRYPI, LINUX, LOGGER, ROOT, yaml_load
|
|
18
18
|
from ultralytics.utils.checks import check_requirements, check_suffix, check_version, check_yaml
|
|
19
19
|
from ultralytics.utils.downloads import attempt_download_asset, is_url
|
|
20
20
|
|
|
@@ -183,6 +183,9 @@ class AutoBackend(nn.Module):
|
|
|
183
183
|
elif onnx:
|
|
184
184
|
LOGGER.info(f"Loading {w} for ONNX Runtime inference...")
|
|
185
185
|
check_requirements(("onnx", "onnxruntime-gpu" if cuda else "onnxruntime"))
|
|
186
|
+
if IS_RASPBERRYPI or IS_JETSON:
|
|
187
|
+
# Fix error: module 'numpy.linalg._umath_linalg' has no attribute '_ilp64' when exporting to Tensorflow SavedModel on RPi and Jetson
|
|
188
|
+
check_requirements("numpy==1.23.5")
|
|
186
189
|
import onnxruntime
|
|
187
190
|
|
|
188
191
|
providers = ["CUDAExecutionProvider", "CPUExecutionProvider"] if cuda else ["CPUExecutionProvider"]
|
|
@@ -540,7 +543,8 @@ class AutoBackend(nn.Module):
|
|
|
540
543
|
mat_in = self.pyncnn.Mat(im[0].cpu().numpy())
|
|
541
544
|
with self.net.create_extractor() as ex:
|
|
542
545
|
ex.input(self.net.input_names()[0], mat_in)
|
|
543
|
-
|
|
546
|
+
# WARNING: 'output_names' sorted as a temporary fix for https://github.com/pnnx/pnnx/issues/130
|
|
547
|
+
y = [np.array(ex.extract(x)[1])[None] for x in sorted(self.net.output_names())]
|
|
544
548
|
|
|
545
549
|
# NVIDIA Triton Inference Server
|
|
546
550
|
elif self.triton:
|
ultralytics/nn/modules/head.py
CHANGED
|
@@ -8,6 +8,7 @@ import torch.nn as nn
|
|
|
8
8
|
from torch.nn.init import constant_, xavier_uniform_
|
|
9
9
|
|
|
10
10
|
from ultralytics.utils.tal import TORCH_1_10, dist2bbox, dist2rbox, make_anchors
|
|
11
|
+
|
|
11
12
|
from .block import DFL, BNContrastiveHead, ContrastiveHead, Proto
|
|
12
13
|
from .conv import Conv
|
|
13
14
|
from .transformer import MLP, DeformableTransformerDecoder, DeformableTransformerDecoderLayer
|
|
@@ -224,7 +224,7 @@ class ObjectCounter:
|
|
|
224
224
|
|
|
225
225
|
if (box[0] - prev_position[0]) * (self.counting_region.centroid.x - prev_position[0]) > 0:
|
|
226
226
|
self.in_counts += 1
|
|
227
|
-
self.class_wise_count[self.names[cls]]["in"] +=
|
|
227
|
+
self.class_wise_count[self.names[cls]]["in"] += 1
|
|
228
228
|
else:
|
|
229
229
|
self.out_counts += 1
|
|
230
230
|
self.class_wise_count[self.names[cls]]["out"] += 1
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
|
|
5
|
+
from ..utils import LOGGER
|
|
6
|
+
from ..utils.ops import xywh2ltwh
|
|
5
7
|
from .basetrack import BaseTrack, TrackState
|
|
6
8
|
from .utils import matching
|
|
7
9
|
from .utils.kalman_filter import KalmanFilterXYAH
|
|
8
|
-
from ..utils import LOGGER
|
|
9
|
-
from ..utils.ops import xywh2ltwh
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class STrack(BaseTrack):
|
ultralytics/trackers/track.py
CHANGED
ultralytics/utils/__init__.py
CHANGED
|
@@ -512,8 +512,9 @@ def is_online() -> bool:
|
|
|
512
512
|
assert str(os.getenv("YOLO_OFFLINE", "")).lower() != "true" # check if ENV var YOLO_OFFLINE="True"
|
|
513
513
|
import socket
|
|
514
514
|
|
|
515
|
-
|
|
516
|
-
|
|
515
|
+
for dns in ("1.1.1.1", "8.8.8.8"): # check Cloudflare and Google DNS
|
|
516
|
+
socket.create_connection(address=(dns, 80), timeout=1.0).close()
|
|
517
|
+
return True
|
|
517
518
|
return False
|
|
518
519
|
|
|
519
520
|
|
ultralytics/utils/benchmarks.py
CHANGED
|
@@ -35,7 +35,7 @@ import torch.cuda
|
|
|
35
35
|
from ultralytics import YOLO, YOLOWorld
|
|
36
36
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
|
37
37
|
from ultralytics.engine.exporter import export_formats
|
|
38
|
-
from ultralytics.utils import ASSETS, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
|
38
|
+
from ultralytics.utils import ARM64, ASSETS, IS_JETSON, IS_RASPBERRYPI, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
|
39
39
|
from ultralytics.utils.checks import IS_PYTHON_3_12, check_requirements, check_yolo
|
|
40
40
|
from ultralytics.utils.files import file_size
|
|
41
41
|
from ultralytics.utils.torch_utils import select_device
|
|
@@ -83,8 +83,10 @@ def benchmark(
|
|
|
83
83
|
emoji, filename = "❌", None # export defaults
|
|
84
84
|
try:
|
|
85
85
|
# Checks
|
|
86
|
+
if i == 5: # CoreML
|
|
87
|
+
assert not (IS_RASPBERRYPI or IS_JETSON), "CoreML export not supported on Raspberry Pi or NVIDIA Jetson"
|
|
86
88
|
if i == 9: # Edge TPU
|
|
87
|
-
assert LINUX, "Edge TPU export only supported on Linux"
|
|
89
|
+
assert LINUX and not ARM64, "Edge TPU export only supported on non-aarch64 Linux"
|
|
88
90
|
elif i == 7: # TF GraphDef
|
|
89
91
|
assert model.task != "obb", "TensorFlow GraphDef not supported for OBB task"
|
|
90
92
|
elif i in {5, 10}: # CoreML and TF.js
|
ultralytics/utils/loss.py
CHANGED
|
@@ -7,6 +7,7 @@ import torch.nn.functional as F
|
|
|
7
7
|
from ultralytics.utils.metrics import OKS_SIGMA
|
|
8
8
|
from ultralytics.utils.ops import crop_mask, xywh2xyxy, xyxy2xywh
|
|
9
9
|
from ultralytics.utils.tal import RotatedTaskAlignedAssigner, TaskAlignedAssigner, dist2bbox, dist2rbox, make_anchors
|
|
10
|
+
|
|
10
11
|
from .metrics import bbox_iou, probiou
|
|
11
12
|
from .tal import bbox2dist
|
|
12
13
|
|
ultralytics/utils/plotting.py
CHANGED
|
@@ -13,8 +13,8 @@ from PIL import Image, ImageDraw, ImageFont
|
|
|
13
13
|
from PIL import __version__ as pil_version
|
|
14
14
|
|
|
15
15
|
from ultralytics.utils import LOGGER, TryExcept, ops, plt_settings, threaded
|
|
16
|
-
from .checks import check_font, check_version, is_ascii
|
|
17
|
-
from .files import increment_path
|
|
16
|
+
from ultralytics.utils.checks import check_font, check_version, is_ascii
|
|
17
|
+
from ultralytics.utils.files import increment_path
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class Colors:
|
|
@@ -240,7 +240,7 @@ class Annotator:
|
|
|
240
240
|
# Convert im back to PIL and update draw
|
|
241
241
|
self.fromarray(self.im)
|
|
242
242
|
|
|
243
|
-
def kpts(self, kpts, shape=(640, 640), radius=5, kpt_line=True):
|
|
243
|
+
def kpts(self, kpts, shape=(640, 640), radius=5, kpt_line=True, conf_thres=0.25):
|
|
244
244
|
"""
|
|
245
245
|
Plot keypoints on the image.
|
|
246
246
|
|
|
@@ -266,7 +266,7 @@ class Annotator:
|
|
|
266
266
|
if x_coord % shape[1] != 0 and y_coord % shape[0] != 0:
|
|
267
267
|
if len(k) == 3:
|
|
268
268
|
conf = k[2]
|
|
269
|
-
if conf <
|
|
269
|
+
if conf < conf_thres:
|
|
270
270
|
continue
|
|
271
271
|
cv2.circle(self.im, (int(x_coord), int(y_coord)), radius, color_k, -1, lineType=cv2.LINE_AA)
|
|
272
272
|
|
|
@@ -278,7 +278,7 @@ class Annotator:
|
|
|
278
278
|
if ndim == 3:
|
|
279
279
|
conf1 = kpts[(sk[0] - 1), 2]
|
|
280
280
|
conf2 = kpts[(sk[1] - 1), 2]
|
|
281
|
-
if conf1 <
|
|
281
|
+
if conf1 < conf_thres or conf2 < conf_thres:
|
|
282
282
|
continue
|
|
283
283
|
if pos1[0] % shape[1] == 0 or pos1[1] % shape[0] == 0 or pos1[0] < 0 or pos1[1] < 0:
|
|
284
284
|
continue
|
|
@@ -490,7 +490,7 @@ class Annotator:
|
|
|
490
490
|
angle = 360 - angle
|
|
491
491
|
return angle
|
|
492
492
|
|
|
493
|
-
def draw_specific_points(self, keypoints, indices=[2, 5, 7], shape=(640, 640), radius=2):
|
|
493
|
+
def draw_specific_points(self, keypoints, indices=[2, 5, 7], shape=(640, 640), radius=2, conf_thres=0.25):
|
|
494
494
|
"""
|
|
495
495
|
Draw specific keypoints for gym steps counting.
|
|
496
496
|
|
|
@@ -506,7 +506,7 @@ class Annotator:
|
|
|
506
506
|
if x_coord % shape[1] != 0 and y_coord % shape[0] != 0:
|
|
507
507
|
if len(k) == 3:
|
|
508
508
|
conf = k[2]
|
|
509
|
-
if conf <
|
|
509
|
+
if conf < conf_thres:
|
|
510
510
|
continue
|
|
511
511
|
cv2.circle(self.im, (int(x_coord), int(y_coord)), radius, (0, 255, 0), -1, lineType=cv2.LINE_AA)
|
|
512
512
|
return self.im
|
|
@@ -875,7 +875,7 @@ def plot_images(
|
|
|
875
875
|
kpts_[..., 1] += y
|
|
876
876
|
for j in range(len(kpts_)):
|
|
877
877
|
if labels or conf[j] > conf_thres:
|
|
878
|
-
annotator.kpts(kpts_[j])
|
|
878
|
+
annotator.kpts(kpts_[j], conf_thres=conf_thres)
|
|
879
879
|
|
|
880
880
|
# Plot masks
|
|
881
881
|
if len(masks):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.2.0
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -64,6 +64,7 @@ Provides-Extra: export
|
|
|
64
64
|
Requires-Dist: onnx >=1.12.0 ; extra == 'export'
|
|
65
65
|
Requires-Dist: openvino >=2024.0.0 ; extra == 'export'
|
|
66
66
|
Requires-Dist: numpy ==1.23.5 ; (platform_machine == "aarch64") and extra == 'export'
|
|
67
|
+
Requires-Dist: h5py !=3.11.0 ; (platform_machine == "aarch64") and extra == 'export'
|
|
67
68
|
Requires-Dist: coremltools >=7.0 ; (platform_system != "Windows" and python_version <= "3.11") and extra == 'export'
|
|
68
69
|
Requires-Dist: tensorflow <=2.13.1 ; (python_version <= "3.11") and extra == 'export'
|
|
69
70
|
Requires-Dist: tensorflowjs >=3.9.0 ; (python_version <= "3.11") and extra == 'export'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ultralytics/__init__.py,sha256=
|
|
1
|
+
ultralytics/__init__.py,sha256=uCXsQMRPXbzHpek0WRp4kOTo9F7yWokJZQfg8SxZFDw,632
|
|
2
2
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
|
3
3
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
|
4
4
|
ultralytics/cfg/__init__.py,sha256=ugSQqHCg31bAE9rwhVrnLMNzKLShr9JxDFcN6kBTbUk,21316
|
|
@@ -64,22 +64,22 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=YrPmj18p1UU40kJH5NRdL_4S8f7knggkk_q
|
|
|
64
64
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=QvHmtuwulK4X6j3T5VEqtCm0sbWWBUVmWPcCcM20qe0,688
|
|
65
65
|
ultralytics/data/__init__.py,sha256=VGe-ATG7j35F4A4r8Jmzffjlhve4JAJPgRa5ahKTU18,616
|
|
66
66
|
ultralytics/data/annotator.py,sha256=evXQzARVerc0hb9ol-n_GrrHf-dlXO4lCMMWEZoJ2UM,2117
|
|
67
|
-
ultralytics/data/augment.py,sha256=
|
|
68
|
-
ultralytics/data/base.py,sha256=
|
|
69
|
-
ultralytics/data/build.py,sha256=
|
|
67
|
+
ultralytics/data/augment.py,sha256=81BOqY4DzxuNfw6Qg7rjBQTktU4JK2GHolXIhzXnAHg,57741
|
|
68
|
+
ultralytics/data/base.py,sha256=9dZcoXtczloWSsbU-sOa9NlJ7lIGoarEUAp2rzP1jMI,13481
|
|
69
|
+
ultralytics/data/build.py,sha256=NhETn_nGGEey8Dv8QOgro_j-KutfRCWyNHifEhqh_U4,7266
|
|
70
70
|
ultralytics/data/converter.py,sha256=NLDiV67RshbKQnMJUiQQF11boVzEqgi2Hz39nKVAI4U,17528
|
|
71
|
-
ultralytics/data/dataset.py,sha256=
|
|
71
|
+
ultralytics/data/dataset.py,sha256=NFaXyHRn64TyTEbtSkr7SkqWXK8bEJl6lZ6M1JwO3MY,22201
|
|
72
72
|
ultralytics/data/loaders.py,sha256=UxNLLV6rwUDog9MSOkHpDn52TO-X2g2P4a5ZwvB7Ii8,23142
|
|
73
73
|
ultralytics/data/split_dota.py,sha256=PQdkwwlFtLKhWIrbToshSekXGdgbrbYMN6hM4ujfa7o,10010
|
|
74
74
|
ultralytics/data/utils.py,sha256=2wqf4mi2r78yH1oJS29ZILHCuBtm1nzpagRLoo0sEDw,30869
|
|
75
75
|
ultralytics/data/explorer/__init__.py,sha256=-Y3m1ZedepOQUv_KW82zaGxvU_PSHcuwUTFqG9BhAr4,113
|
|
76
|
-
ultralytics/data/explorer/explorer.py,sha256=
|
|
76
|
+
ultralytics/data/explorer/explorer.py,sha256=0psbV96Qjbo2l_jGyM8WWnHq2gJREp_qq9YWPoxVxXE,18711
|
|
77
77
|
ultralytics/data/explorer/utils.py,sha256=EvvukQiQUTBrsZznmMnyEX2EqTuwZo_Geyc8yfi8NIA,7085
|
|
78
78
|
ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
79
79
|
ultralytics/data/explorer/gui/dash.py,sha256=2oAbNroR2lfS45v53M1sRqZklLXbbj6qXqNxvplulC0,10087
|
|
80
80
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
81
|
-
ultralytics/engine/exporter.py,sha256=
|
|
82
|
-
ultralytics/engine/model.py,sha256=
|
|
81
|
+
ultralytics/engine/exporter.py,sha256=0B1npPXNYZxgDlupUf6EWP65AKzeRHnwRPf3czTIzuQ,54476
|
|
82
|
+
ultralytics/engine/model.py,sha256=4zSVSBP8Ex49bJjnOXm7g3Qr_NgbplHPCjdnVfZwfxM,40019
|
|
83
83
|
ultralytics/engine/predictor.py,sha256=wQRKdWGDTP5A6CS0gTC6U3RPDMhP3QkEzWSPm6eqCkU,17022
|
|
84
84
|
ultralytics/engine/results.py,sha256=MvrOBrBlRF7kbL-QwysMf9mIDy_lwQBTTYvy1x1FMME,30667
|
|
85
85
|
ultralytics/engine/trainer.py,sha256=Vm41LwIkM7SECJEXEToH7NNc9AS1vKrTu1gLkZKdPEo,34933
|
|
@@ -87,29 +87,29 @@ ultralytics/engine/tuner.py,sha256=iZrgMmXSDpfuDu4bdFRflmAsscys2-8W8qAGxSyOVJE,1
|
|
|
87
87
|
ultralytics/engine/validator.py,sha256=p0irfLSZa3-0TtcuGheI8kNbzPUqs_UM3TMK4VRUGK4,14645
|
|
88
88
|
ultralytics/hub/__init__.py,sha256=U4j-2QPdwSDlxw6RgFYnnJXOoIzLtwke4TkY2A8q4ws,5068
|
|
89
89
|
ultralytics/hub/auth.py,sha256=FID58NE6fh7Op_B45QOpWBw1qoBN0ponL16uvyb2dZ8,5399
|
|
90
|
-
ultralytics/hub/session.py,sha256=
|
|
90
|
+
ultralytics/hub/session.py,sha256=Oly3bKjLkW08iOm3QoSr6Yy57aLZ4AmAmF6Pp9Y_q5g,15197
|
|
91
91
|
ultralytics/hub/utils.py,sha256=RpFDFp9biUK70Mswzz2o3uEu4xwQxRaStPS19U2gu0g,9721
|
|
92
92
|
ultralytics/models/__init__.py,sha256=xrzn2dcLBG6Ujxll8LtlTIblPar2gjNhAwjAQg7u8sk,197
|
|
93
93
|
ultralytics/models/fastsam/__init__.py,sha256=0dt65jZ_5b7Q-mdXN8MSEkgnFRA0FIwlel_LS2RaOlU,254
|
|
94
|
-
ultralytics/models/fastsam/model.py,sha256=
|
|
94
|
+
ultralytics/models/fastsam/model.py,sha256=c7GGwaa9AXssJFwrcuytFHpPOlgSrS3n0utyf4JSL2o,1055
|
|
95
95
|
ultralytics/models/fastsam/predict.py,sha256=0WHUFrqHUNy1cTNpLKsN0FKqLKCvr7fHU6pp91_QVg0,4121
|
|
96
96
|
ultralytics/models/fastsam/prompt.py,sha256=v_aS-8EAPtK6ug70f_QtsMBoRAZA47_x6I_owA2rJlI,16182
|
|
97
97
|
ultralytics/models/fastsam/utils.py,sha256=r-b362Wb7P2ZAlOwWckPJM6HLvg-eFDDz4wkA0ymLd0,2157
|
|
98
98
|
ultralytics/models/fastsam/val.py,sha256=ILKmw3U8FYmmQsO9wk9-bJ9Pyp_ZthJM36b61L75s3Y,1967
|
|
99
99
|
ultralytics/models/nas/__init__.py,sha256=d6-WTrYLXvbPs58ebA0-583ODi-VyzXc-t4aGIDQK6M,179
|
|
100
|
-
ultralytics/models/nas/model.py,sha256=
|
|
100
|
+
ultralytics/models/nas/model.py,sha256=nw7574loYfJHiEQx_ttemF9gpyehvWQVVYTIH0lsTSo,2865
|
|
101
101
|
ultralytics/models/nas/predict.py,sha256=O7f92KE6hi5DENTRzXiMsm-qK-ndVoO1Bs3dugp8aLA,2136
|
|
102
102
|
ultralytics/models/nas/val.py,sha256=u35kVTVgGxK_rbHytUvFB4F3_nZn4MPv3PbZLFWSmkQ,1680
|
|
103
103
|
ultralytics/models/rtdetr/__init__.py,sha256=AZga1C3qlGTtgpAupDW4doijq5aZlQeF8e55_DP2Uas,197
|
|
104
104
|
ultralytics/models/rtdetr/model.py,sha256=2VkppF1_581XmQ0UI7lo8fX7MqhAJPXVMr2jyMHXtbk,1988
|
|
105
105
|
ultralytics/models/rtdetr/predict.py,sha256=-NFBAv_4VIUcXycO7wA8IH6EHXrVyOir-5PZkd46qyo,3584
|
|
106
|
-
ultralytics/models/rtdetr/train.py,sha256=
|
|
106
|
+
ultralytics/models/rtdetr/train.py,sha256=20AFYVW9NPxw0-cp-sRdIovWidFL0IIhJRv2oZjkPlM,3685
|
|
107
107
|
ultralytics/models/rtdetr/val.py,sha256=4QQArdaGEY8rJsJuvyJ032f8GGVGdV2jURHK2EdMxyk,5566
|
|
108
108
|
ultralytics/models/sam/__init__.py,sha256=9A1iyfPN_ncqq3TMExe_-uPoARjEX3psoHEI1xMG2VE,144
|
|
109
109
|
ultralytics/models/sam/amg.py,sha256=MsKSRS2SieZK_n-m2ICk1QpcYogl5mofcsVa-4FXYvo,7935
|
|
110
|
-
ultralytics/models/sam/build.py,sha256
|
|
111
|
-
ultralytics/models/sam/model.py,sha256=
|
|
112
|
-
ultralytics/models/sam/predict.py,sha256=
|
|
110
|
+
ultralytics/models/sam/build.py,sha256=-i-vj0egQ2idBZUf3Xf-H89QeToM3ky0HTxKP_KEXTs,4944
|
|
111
|
+
ultralytics/models/sam/model.py,sha256=dkEhqJEZFuSoKubMaAjUx1U9Np49AII3nBScdH8rMBI,4707
|
|
112
|
+
ultralytics/models/sam/predict.py,sha256=BuSaqMOkpwiM5H5sWOE1CDIwEDkz8uMKV6AMRysCZk4,23614
|
|
113
113
|
ultralytics/models/sam/modules/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
114
114
|
ultralytics/models/sam/modules/decoders.py,sha256=7NWnBNupxGYvH0S1N0R6NBHxdVFRUrrnL9EqAw09J4E,7816
|
|
115
115
|
ultralytics/models/sam/modules/encoders.py,sha256=pRNZHzt2J2xD_D0Btu8pk4DcItfr6dRr9rcRfxoZZhU,24746
|
|
@@ -117,7 +117,7 @@ ultralytics/models/sam/modules/sam.py,sha256=zC4l4kcrIQD_ekczjl2l6dgaABqqjROZxQ-
|
|
|
117
117
|
ultralytics/models/sam/modules/tiny_encoder.py,sha256=ypXIMBXpsNUBrskbdJjo2pErI_mtNJlHMdmo9Erqgp0,29125
|
|
118
118
|
ultralytics/models/sam/modules/transformer.py,sha256=VINZMb4xkx4IHAbJdhCq2XLDvaFBMup7RGC16DLS7OY,11164
|
|
119
119
|
ultralytics/models/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
120
|
-
ultralytics/models/utils/loss.py,sha256=
|
|
120
|
+
ultralytics/models/utils/loss.py,sha256=PmlKDe4xQTiYkPSCdNUabxJC7bh43zGxiKVIxsXBVGE,15135
|
|
121
121
|
ultralytics/models/utils/ops.py,sha256=sn1vdwIK2LaCvxvuuP31Yw2HXEMAmQdo7KD9JVh4GM4,13244
|
|
122
122
|
ultralytics/models/yolo/__init__.py,sha256=e1cZr9pbSbf3Ya2OvkTjGRwD_E2YZpe610xskBM8gEk,247
|
|
123
123
|
ultralytics/models/yolo/model.py,sha256=EwjRD9QrLP7qxqqjj-Q1II4RdjTZTyssn_n1iwO68VE,3991
|
|
@@ -145,50 +145,50 @@ ultralytics/models/yolo/world/__init__.py,sha256=3VTH0q4NOt2EWRom15yCymvmvm0Etp2
|
|
|
145
145
|
ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WViDstn7npfI,3686
|
|
146
146
|
ultralytics/models/yolo/world/train_world.py,sha256=ICPsYNbuPkq_qf3FHl2YJ-q3g7ik0pI-zhMpLmHa5-4,4805
|
|
147
147
|
ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
|
|
148
|
-
ultralytics/nn/autobackend.py,sha256=
|
|
148
|
+
ultralytics/nn/autobackend.py,sha256=T0vOQf_Wb25MpJavEhWQC0eHXQ_B6izp1I4De7t8iP0,30708
|
|
149
149
|
ultralytics/nn/tasks.py,sha256=a3FSkIUErlE7qI506ye5vGggqzMxqXWDkIbbLD4AGyI,43623
|
|
150
150
|
ultralytics/nn/modules/__init__.py,sha256=KzLoyn2ldfReiQL8H8xsMC49Xvtb8Kv9ikE5Q3OBoAs,2326
|
|
151
151
|
ultralytics/nn/modules/block.py,sha256=smIz3oNTDA7UKrAH5FfSMh08C12-avgWTeIkbgZIv18,25251
|
|
152
152
|
ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
|
|
153
|
-
ultralytics/nn/modules/head.py,sha256=
|
|
153
|
+
ultralytics/nn/modules/head.py,sha256=D3WOkBy1GLVy2ZwrM0O7FvjKafOtyVVMiICzeTM-khA,22338
|
|
154
154
|
ultralytics/nn/modules/transformer.py,sha256=AxD9uURpCl-EqvXe3DiG6JW-pBzB16G-AahLdZ7yayo,17909
|
|
155
155
|
ultralytics/nn/modules/utils.py,sha256=779QnnKp9v8jv251ESduTXJ0ol8HkIOLbGQWwEGQjhU,3196
|
|
156
156
|
ultralytics/solutions/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
157
157
|
ultralytics/solutions/ai_gym.py,sha256=IZHpvmNyEQT_aqMTrA5sIjCsl3_5Zl2WG31HxGT6KV4,5696
|
|
158
158
|
ultralytics/solutions/distance_calculation.py,sha256=N1QB5uDG_6sp8jD5uSwp_NTPmyP4UCqJm9G2lNrgpr8,6334
|
|
159
159
|
ultralytics/solutions/heatmap.py,sha256=IeUkGRYbO8I7Sca0I2kvxh8dILy1gehmbIYolFF-ppc,12276
|
|
160
|
-
ultralytics/solutions/object_counter.py,sha256=
|
|
160
|
+
ultralytics/solutions/object_counter.py,sha256=G8CeUg8DZyzh3QSw8m-9Mp0RgdBkr7-EXMFpEBTOUWQ,11558
|
|
161
161
|
ultralytics/solutions/queue_management.py,sha256=TBQ2dIKYtymBjhdw0Enxa22KHyH3IdXf2C-1Se21siA,6684
|
|
162
162
|
ultralytics/solutions/speed_estimation.py,sha256=lvaU-F8f3V4KFVKFaNS7isIdYtMSFjh_zF9gl0Mals8,6714
|
|
163
163
|
ultralytics/trackers/__init__.py,sha256=j72IgH2dZHQArMPK4YwcV5ieIw94fYvlGdQjB9cOQKw,227
|
|
164
164
|
ultralytics/trackers/basetrack.py,sha256=-vBDD-Q9lsxfTMK2w9kuqWGrYbRMmaBCCEbGGyR53gE,3675
|
|
165
165
|
ultralytics/trackers/bot_sort.py,sha256=39AvhYVbT7izF3--rX_e6Lhgb5czTA23gw6AgnNcRds,8601
|
|
166
|
-
ultralytics/trackers/byte_tracker.py,sha256=
|
|
167
|
-
ultralytics/trackers/track.py,sha256=
|
|
166
|
+
ultralytics/trackers/byte_tracker.py,sha256=kS3jASVRHMi83qjCahd2D1T6V9XyIehvXXTyy-17QM8,18871
|
|
167
|
+
ultralytics/trackers/track.py,sha256=mQX3vntIuNiUw1KjczitPFeEOsxrPWkjAPVOG6MldC8,3463
|
|
168
168
|
ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
169
169
|
ultralytics/trackers/utils/gmc.py,sha256=vwcPA1n5zjPaBGhCDt8ItN7rq_6Sczsjn4gsXJfRylU,13688
|
|
170
170
|
ultralytics/trackers/utils/kalman_filter.py,sha256=0oqhk59NKEiwcJ2FXnw6_sT4bIFC6Wu5IY2B-TGxJKU,15168
|
|
171
171
|
ultralytics/trackers/utils/matching.py,sha256=UxhSGa5pN6WoYwYSBAkkt-O7xMxUR47VuUB6PfVNkb4,5404
|
|
172
|
-
ultralytics/utils/__init__.py,sha256=
|
|
172
|
+
ultralytics/utils/__init__.py,sha256=mo1Uo5uMBG1mhurWSwi78DEFU79NbcYuximNVKhjiYI,39292
|
|
173
173
|
ultralytics/utils/autobatch.py,sha256=ygZ3f2ByIkcujB89ENcTnGWWnAQw5Pbg6nBuShg-5t4,3863
|
|
174
|
-
ultralytics/utils/benchmarks.py,sha256=
|
|
174
|
+
ultralytics/utils/benchmarks.py,sha256=dVAQ7GjZmgjvGL9JglKA3d9HAnvGoyX2TaEmZJjk0HA,18539
|
|
175
175
|
ultralytics/utils/checks.py,sha256=UDrcHiTMjSHSyUZflTRGuyYRj0uz9-RQ-xfDq_lsXZo,27971
|
|
176
176
|
ultralytics/utils/dist.py,sha256=3HeNbY2gp7vYhcvVhsrvTrQXpQmgT8tpmnzApf3eQRA,2267
|
|
177
177
|
ultralytics/utils/downloads.py,sha256=j1S27awWiLTt1qC9l53WqH_BilM13JHLSVmQ2xFqh-4,21496
|
|
178
178
|
ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
|
|
179
179
|
ultralytics/utils/files.py,sha256=TVfY0Wi5IsUc4YdsDzC0dAg-jAP5exYvwqB3VmXhDLY,6761
|
|
180
180
|
ultralytics/utils/instance.py,sha256=fPClvPPtTk8VeXWiRv90DrFk1j1lTUKdYJtpZKUDDtA,15575
|
|
181
|
-
ultralytics/utils/loss.py,sha256=
|
|
181
|
+
ultralytics/utils/loss.py,sha256=ejXnPEIAzNEoNz2UjW0_fcdeUs9Hy-jPzUrJ3FiIIwE,32717
|
|
182
182
|
ultralytics/utils/metrics.py,sha256=XPD-xP0fchR8KgCuTcihV2-n0EK1cWi3-53BWN_pLuA,53518
|
|
183
183
|
ultralytics/utils/ops.py,sha256=wZCWx7dm5GJNIJHyZaFJRetGcQ7prdv-anplqq9figQ,33309
|
|
184
184
|
ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
|
|
185
|
-
ultralytics/utils/plotting.py,sha256=
|
|
185
|
+
ultralytics/utils/plotting.py,sha256=JS-u6ZSCT7-7P3ySHxT7DZFujpOu3re78FmKkbBeaiw,47558
|
|
186
186
|
ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
|
|
187
187
|
ultralytics/utils/torch_utils.py,sha256=-lXdJenpUfKM932ipvGfzup8FjNzX6g16hibwW5wPIU,25848
|
|
188
188
|
ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
|
|
189
189
|
ultralytics/utils/tuner.py,sha256=JhvBp6haKA6eqpNPpGJzzjjCmPxBx5phk9kHmt_jppw,6171
|
|
190
190
|
ultralytics/utils/callbacks/__init__.py,sha256=YrWqC3BVVaTLob4iCPR6I36mUxIUOpPJW7B_LjT78Qw,214
|
|
191
|
-
ultralytics/utils/callbacks/base.py,sha256=
|
|
191
|
+
ultralytics/utils/callbacks/base.py,sha256=A8H6jXnPQJfOxA1ByTBWF2ePDs5ldccUabXG0u5BfRI,5776
|
|
192
192
|
ultralytics/utils/callbacks/clearml.py,sha256=M9Fi1OfdWqcm8uVkauuX3zJIYhNh6Tp7Jo4CfA0u0nw,5923
|
|
193
193
|
ultralytics/utils/callbacks/comet.py,sha256=QR3-9f0L_W7nZWWg_OEN7t8La2JotapSS-CnNYVjCdk,13744
|
|
194
194
|
ultralytics/utils/callbacks/dvc.py,sha256=WIClMsuvhiiyrwRv5BsZLxjsxYNJ3Y8Vq7zN0Bthtro,5045
|
|
@@ -198,9 +198,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
198
198
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
199
199
|
ultralytics/utils/callbacks/tensorboard.py,sha256=Z1veCVcn9THPhdplWuIzwlsW2yF7y-On9IZIk3khM0Y,4135
|
|
200
200
|
ultralytics/utils/callbacks/wb.py,sha256=woCQVuZzqtM5KnwxIibcfM3sFBYojeMPnv11jrRaIQA,6674
|
|
201
|
-
ultralytics-8.
|
|
202
|
-
ultralytics-8.
|
|
203
|
-
ultralytics-8.
|
|
204
|
-
ultralytics-8.
|
|
205
|
-
ultralytics-8.
|
|
206
|
-
ultralytics-8.
|
|
201
|
+
ultralytics-8.2.0.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
202
|
+
ultralytics-8.2.0.dist-info/METADATA,sha256=jikHSAfURO1Erg4fy0DBRArCrEXdb-YtnNckZYTLYYY,40500
|
|
203
|
+
ultralytics-8.2.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
204
|
+
ultralytics-8.2.0.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
205
|
+
ultralytics-8.2.0.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
206
|
+
ultralytics-8.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|