ultralytics 8.1.2__py3-none-any.whl → 8.1.4__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 +15 -3
- ultralytics/cfg/datasets/Argoverse.yaml +7 -7
- ultralytics/cfg/datasets/DOTAv1.5.yaml +4 -4
- ultralytics/cfg/datasets/DOTAv1.yaml +4 -4
- ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -3
- ultralytics/cfg/datasets/ImageNet.yaml +4 -6
- ultralytics/cfg/datasets/Objects365.yaml +3 -5
- ultralytics/cfg/datasets/SKU-110K.yaml +4 -6
- ultralytics/cfg/datasets/VOC.yaml +0 -2
- ultralytics/cfg/datasets/VisDrone.yaml +4 -6
- ultralytics/cfg/datasets/coco-pose.yaml +5 -6
- ultralytics/cfg/datasets/coco.yaml +4 -6
- ultralytics/cfg/datasets/coco128-seg.yaml +4 -6
- ultralytics/cfg/datasets/coco128.yaml +4 -6
- ultralytics/cfg/datasets/coco8-pose.yaml +5 -6
- ultralytics/cfg/datasets/coco8-seg.yaml +4 -6
- ultralytics/cfg/datasets/coco8.yaml +4 -6
- ultralytics/cfg/datasets/dota8.yaml +3 -3
- ultralytics/cfg/datasets/open-images-v7.yaml +4 -6
- ultralytics/cfg/datasets/tiger-pose.yaml +4 -5
- ultralytics/cfg/datasets/xView.yaml +3 -5
- ultralytics/cfg/default.yaml +103 -103
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +27 -27
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +23 -23
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +23 -23
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +27 -27
- ultralytics/cfg/models/v3/yolov3-spp.yaml +18 -18
- ultralytics/cfg/models/v3/yolov3-tiny.yaml +16 -16
- ultralytics/cfg/models/v3/yolov3.yaml +18 -18
- ultralytics/cfg/models/v5/yolov5-p6.yaml +24 -24
- ultralytics/cfg/models/v5/yolov5.yaml +18 -19
- ultralytics/cfg/models/v6/yolov6.yaml +17 -17
- ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +25 -0
- ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +25 -0
- ultralytics/cfg/models/v8/yolov8-cls.yaml +7 -7
- ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +26 -26
- ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +27 -27
- ultralytics/cfg/models/v8/yolov8-ghost.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-obb.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-p2.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-p6.yaml +24 -24
- ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +25 -25
- ultralytics/cfg/models/v8/yolov8-pose.yaml +19 -19
- ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +24 -24
- ultralytics/cfg/models/v8/yolov8-seg.yaml +18 -18
- ultralytics/cfg/models/v8/yolov8.yaml +23 -23
- ultralytics/cfg/trackers/botsort.yaml +7 -7
- ultralytics/cfg/trackers/bytetrack.yaml +6 -6
- ultralytics/data/build.py +1 -1
- ultralytics/engine/model.py +11 -7
- ultralytics/engine/trainer.py +1 -4
- ultralytics/hub/session.py +1 -1
- ultralytics/nn/modules/head.py +1 -1
- ultralytics/nn/modules/transformer.py +3 -3
- ultralytics/utils/callbacks/tensorboard.py +38 -15
- ultralytics/utils/ops.py +2 -2
- ultralytics/utils/plotting.py +1 -1
- {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/METADATA +2 -2
- {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/RECORD +64 -62
- {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/LICENSE +0 -0
- {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/WHEEL +0 -0
- {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/top_level.txt +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
2
|
# Default YOLO tracker settings for BoT-SORT tracker https://github.com/NirAharon/BoT-SORT
|
|
3
3
|
|
|
4
|
-
tracker_type: botsort
|
|
5
|
-
track_high_thresh: 0.5
|
|
6
|
-
track_low_thresh: 0.1
|
|
7
|
-
new_track_thresh: 0.6
|
|
8
|
-
track_buffer: 30
|
|
9
|
-
match_thresh: 0.8
|
|
4
|
+
tracker_type: botsort # tracker type, ['botsort', 'bytetrack']
|
|
5
|
+
track_high_thresh: 0.5 # threshold for the first association
|
|
6
|
+
track_low_thresh: 0.1 # threshold for the second association
|
|
7
|
+
new_track_thresh: 0.6 # threshold for init new track if the detection does not match any tracks
|
|
8
|
+
track_buffer: 30 # buffer to calculate the time when to remove tracks
|
|
9
|
+
match_thresh: 0.8 # threshold for matching tracks
|
|
10
10
|
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
|
|
11
11
|
# mot20: False # for tracker evaluation(not used for now)
|
|
12
12
|
|
|
13
13
|
# BoT-SORT settings
|
|
14
|
-
gmc_method: sparseOptFlow
|
|
14
|
+
gmc_method: sparseOptFlow # method of global motion compensation
|
|
15
15
|
# ReID model related thresh (not supported yet)
|
|
16
16
|
proximity_thresh: 0.5
|
|
17
17
|
appearance_thresh: 0.25
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
2
|
# Default YOLO tracker settings for ByteTrack tracker https://github.com/ifzhang/ByteTrack
|
|
3
3
|
|
|
4
|
-
tracker_type: bytetrack
|
|
5
|
-
track_high_thresh: 0.5
|
|
6
|
-
track_low_thresh: 0.1
|
|
7
|
-
new_track_thresh: 0.6
|
|
8
|
-
track_buffer: 30
|
|
9
|
-
match_thresh: 0.8
|
|
4
|
+
tracker_type: bytetrack # tracker type, ['botsort', 'bytetrack']
|
|
5
|
+
track_high_thresh: 0.5 # threshold for the first association
|
|
6
|
+
track_low_thresh: 0.1 # threshold for the second association
|
|
7
|
+
new_track_thresh: 0.6 # threshold for init new track if the detection does not match any tracks
|
|
8
|
+
track_buffer: 30 # buffer to calculate the time when to remove tracks
|
|
9
|
+
match_thresh: 0.8 # threshold for matching tracks
|
|
10
10
|
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
|
|
11
11
|
# mot20: False # for tracker evaluation(not used for now)
|
ultralytics/data/build.py
CHANGED
|
@@ -107,7 +107,7 @@ def build_dataloader(dataset, batch, workers, shuffle=True, rank=-1):
|
|
|
107
107
|
"""Return an InfiniteDataLoader or DataLoader for training or validation set."""
|
|
108
108
|
batch = min(batch, len(dataset))
|
|
109
109
|
nd = torch.cuda.device_count() # number of CUDA devices
|
|
110
|
-
nw = min([os.cpu_count() // max(nd, 1),
|
|
110
|
+
nw = min([os.cpu_count() // max(nd, 1), workers]) # number of workers
|
|
111
111
|
sampler = None if rank == -1 else distributed.DistributedSampler(dataset, shuffle=shuffle)
|
|
112
112
|
generator = torch.Generator()
|
|
113
113
|
generator.manual_seed(6148914691236517205 + RANK)
|
ultralytics/engine/model.py
CHANGED
|
@@ -52,13 +52,14 @@ class Model(nn.Module):
|
|
|
52
52
|
list(ultralytics.engine.results.Results): The prediction results.
|
|
53
53
|
"""
|
|
54
54
|
|
|
55
|
-
def __init__(self, model: Union[str, Path] = "yolov8n.pt", task=None) -> None:
|
|
55
|
+
def __init__(self, model: Union[str, Path] = "yolov8n.pt", task=None, verbose=False) -> None:
|
|
56
56
|
"""
|
|
57
57
|
Initializes the YOLO model.
|
|
58
58
|
|
|
59
59
|
Args:
|
|
60
60
|
model (Union[str, Path], optional): Path or name of the model to load or create. Defaults to 'yolov8n.pt'.
|
|
61
61
|
task (Any, optional): Task type for the YOLO model. Defaults to None.
|
|
62
|
+
verbose (bool, optional): Whether to enable verbose mode.
|
|
62
63
|
"""
|
|
63
64
|
super().__init__()
|
|
64
65
|
self.callbacks = callbacks.get_default_callbacks()
|
|
@@ -77,6 +78,7 @@ class Model(nn.Module):
|
|
|
77
78
|
# Check if Ultralytics HUB model from https://hub.ultralytics.com
|
|
78
79
|
if self.is_hub_model(model):
|
|
79
80
|
# Fetch model from HUB
|
|
81
|
+
checks.check_requirements("hub-sdk>0.0.2")
|
|
80
82
|
self.session = self._get_hub_session(model)
|
|
81
83
|
model = self.session.model_file
|
|
82
84
|
|
|
@@ -89,9 +91,9 @@ class Model(nn.Module):
|
|
|
89
91
|
# Load or create new YOLO model
|
|
90
92
|
model = checks.check_model_file_from_stem(model) # add suffix, i.e. yolov8n -> yolov8n.pt
|
|
91
93
|
if Path(model).suffix in (".yaml", ".yml"):
|
|
92
|
-
self._new(model, task)
|
|
94
|
+
self._new(model, task=task, verbose=verbose)
|
|
93
95
|
else:
|
|
94
|
-
self._load(model, task)
|
|
96
|
+
self._load(model, task=task)
|
|
95
97
|
|
|
96
98
|
self.model_name = model
|
|
97
99
|
|
|
@@ -126,7 +128,7 @@ class Model(nn.Module):
|
|
|
126
128
|
)
|
|
127
129
|
)
|
|
128
130
|
|
|
129
|
-
def _new(self, cfg: str, task=None, model=None, verbose=
|
|
131
|
+
def _new(self, cfg: str, task=None, model=None, verbose=False):
|
|
130
132
|
"""
|
|
131
133
|
Initializes a new model and infers the task type from the model definitions.
|
|
132
134
|
|
|
@@ -381,8 +383,8 @@ class Model(nn.Module):
|
|
|
381
383
|
# Check model was created
|
|
382
384
|
if not getattr(self.session.model, "id", None):
|
|
383
385
|
self.session = None
|
|
384
|
-
except PermissionError:
|
|
385
|
-
# Ignore
|
|
386
|
+
except (PermissionError, ModuleNotFoundError):
|
|
387
|
+
# Ignore PermissionError and ModuleNotFoundError which indicates hub-sdk not installed
|
|
386
388
|
pass
|
|
387
389
|
|
|
388
390
|
self.trainer.hub_session = self.session # attach optional HUB session
|
|
@@ -425,7 +427,9 @@ class Model(nn.Module):
|
|
|
425
427
|
@property
|
|
426
428
|
def names(self):
|
|
427
429
|
"""Returns class names of the loaded model."""
|
|
428
|
-
|
|
430
|
+
from ultralytics.nn.autobackend import check_class_names
|
|
431
|
+
|
|
432
|
+
return check_class_names(self.model.names) if hasattr(self.model, "names") else None
|
|
429
433
|
|
|
430
434
|
@property
|
|
431
435
|
def device(self):
|
ultralytics/engine/trainer.py
CHANGED
|
@@ -332,10 +332,7 @@ class BaseTrainer:
|
|
|
332
332
|
f'Image sizes {self.args.imgsz} train, {self.args.imgsz} val\n'
|
|
333
333
|
f'Using {self.train_loader.num_workers * (world_size or 1)} dataloader workers\n'
|
|
334
334
|
f"Logging results to {colorstr('bold', self.save_dir)}\n"
|
|
335
|
-
f'Starting training for '
|
|
336
|
-
f'{self.args.time} hours...'
|
|
337
|
-
if self.args.time
|
|
338
|
-
else f"{self.epochs} epochs..."
|
|
335
|
+
f'Starting training for ' + (f"{self.args.time} hours..." if self.args.time else f"{self.epochs} epochs...")
|
|
339
336
|
)
|
|
340
337
|
if self.args.close_mosaic:
|
|
341
338
|
base_idx = (self.epochs - self.args.close_mosaic) * nb
|
ultralytics/hub/session.py
CHANGED
|
@@ -42,8 +42,8 @@ class HUBTrainingSession:
|
|
|
42
42
|
Raises:
|
|
43
43
|
ValueError: If the provided model identifier is invalid.
|
|
44
44
|
ConnectionError: If connecting with global API key is not supported.
|
|
45
|
+
ModuleNotFoundError: If hub-sdk package is not installed.
|
|
45
46
|
"""
|
|
46
|
-
checks.check_requirements("hub-sdk>=0.0.2")
|
|
47
47
|
from hub_sdk import HUBClient
|
|
48
48
|
|
|
49
49
|
self.rate_limits = {
|
ultralytics/nn/modules/head.py
CHANGED
|
@@ -376,7 +376,7 @@ class RTDETRDecoder(nn.Module):
|
|
|
376
376
|
|
|
377
377
|
def _get_decoder_input(self, feats, shapes, dn_embed=None, dn_bbox=None):
|
|
378
378
|
"""Generates and prepares the input required for the decoder from the provided features and shapes."""
|
|
379
|
-
bs =
|
|
379
|
+
bs = feats.shape[0]
|
|
380
380
|
# Prepare input for decoder
|
|
381
381
|
anchors, valid_mask = self._generate_anchors(shapes, dtype=feats.dtype, device=feats.device)
|
|
382
382
|
features = self.enc_output(valid_mask * feats) # bs, h*w, 256
|
|
@@ -101,10 +101,10 @@ class AIFI(TransformerEncoderLayer):
|
|
|
101
101
|
@staticmethod
|
|
102
102
|
def build_2d_sincos_position_embedding(w, h, embed_dim=256, temperature=10000.0):
|
|
103
103
|
"""Builds 2D sine-cosine position embedding."""
|
|
104
|
-
grid_w = torch.arange(int(w), dtype=torch.float32)
|
|
105
|
-
grid_h = torch.arange(int(h), dtype=torch.float32)
|
|
106
|
-
grid_w, grid_h = torch.meshgrid(grid_w, grid_h, indexing="ij")
|
|
107
104
|
assert embed_dim % 4 == 0, "Embed dimension must be divisible by 4 for 2D sin-cos position embedding"
|
|
105
|
+
grid_w = torch.arange(w, dtype=torch.float32)
|
|
106
|
+
grid_h = torch.arange(h, dtype=torch.float32)
|
|
107
|
+
grid_w, grid_h = torch.meshgrid(grid_w, grid_h, indexing="ij")
|
|
108
108
|
pos_dim = embed_dim // 4
|
|
109
109
|
omega = torch.arange(pos_dim, dtype=torch.float32) / pos_dim
|
|
110
110
|
omega = 1.0 / (temperature**omega)
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
|
+
import contextlib
|
|
2
3
|
|
|
3
4
|
from ultralytics.utils import LOGGER, SETTINGS, TESTS_RUNNING, colorstr
|
|
4
5
|
|
|
5
6
|
try:
|
|
6
|
-
# WARNING: do not move import due to protobuf
|
|
7
|
+
# WARNING: do not move SummaryWriter import due to protobuf bug https://github.com/ultralytics/ultralytics/pull/4674
|
|
7
8
|
from torch.utils.tensorboard import SummaryWriter
|
|
8
9
|
|
|
9
10
|
assert not TESTS_RUNNING # do not log pytest
|
|
10
11
|
assert SETTINGS["tensorboard"] is True # verify integration is enabled
|
|
11
12
|
WRITER = None # TensorBoard SummaryWriter instance
|
|
13
|
+
PREFIX = colorstr("TensorBoard: ")
|
|
14
|
+
|
|
15
|
+
# Imports below only required if TensorBoard enabled
|
|
16
|
+
import warnings
|
|
17
|
+
from copy import deepcopy
|
|
18
|
+
from ultralytics.utils.torch_utils import de_parallel, torch
|
|
12
19
|
|
|
13
20
|
except (ImportError, AssertionError, TypeError, AttributeError):
|
|
14
21
|
# TypeError for handling 'Descriptors cannot not be created directly.' protobuf errors in Windows
|
|
@@ -25,20 +32,37 @@ def _log_scalars(scalars, step=0):
|
|
|
25
32
|
|
|
26
33
|
def _log_tensorboard_graph(trainer):
|
|
27
34
|
"""Log model graph to TensorBoard."""
|
|
28
|
-
try:
|
|
29
|
-
import warnings
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
# Input image
|
|
37
|
+
imgsz = trainer.args.imgsz
|
|
38
|
+
imgsz = (imgsz, imgsz) if isinstance(imgsz, int) else imgsz
|
|
39
|
+
p = next(trainer.model.parameters()) # for device, type
|
|
40
|
+
im = torch.zeros((1, 3, *imgsz), device=p.device, dtype=p.dtype) # input image (must be zeros, not empty)
|
|
41
|
+
|
|
42
|
+
with warnings.catch_warnings():
|
|
43
|
+
warnings.simplefilter("ignore", category=UserWarning) # suppress jit trace warning
|
|
44
|
+
warnings.simplefilter("ignore", category=torch.jit.TracerWarning) # suppress jit trace warning
|
|
32
45
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
p = next(trainer.model.parameters()) # for device, type
|
|
36
|
-
im = torch.zeros((1, 3, *imgsz), device=p.device, dtype=p.dtype) # input image (must be zeros, not empty)
|
|
37
|
-
with warnings.catch_warnings():
|
|
38
|
-
warnings.simplefilter("ignore", category=UserWarning) # suppress jit trace warning
|
|
46
|
+
# Try simple method first (YOLO)
|
|
47
|
+
with contextlib.suppress(Exception):
|
|
39
48
|
WRITER.add_graph(torch.jit.trace(de_parallel(trainer.model), im, strict=False), [])
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
LOGGER.info(f"{PREFIX}model graph visualization added ✅")
|
|
50
|
+
return
|
|
51
|
+
|
|
52
|
+
# Fallback to TorchScript export steps (RTDETR)
|
|
53
|
+
try:
|
|
54
|
+
model = deepcopy(de_parallel(trainer.model))
|
|
55
|
+
model.eval()
|
|
56
|
+
model = model.fuse(verbose=False)
|
|
57
|
+
for m in model.modules():
|
|
58
|
+
if hasattr(m, "export"): # Detect, RTDETRDecoder (Segment and Pose use Detect base class)
|
|
59
|
+
m.export = True
|
|
60
|
+
m.format = "torchscript"
|
|
61
|
+
model(im) # dry run
|
|
62
|
+
WRITER.add_graph(torch.jit.trace(model, im, strict=False), [])
|
|
63
|
+
LOGGER.info(f"{PREFIX}model graph visualization added ✅")
|
|
64
|
+
except Exception as e:
|
|
65
|
+
LOGGER.warning(f"{PREFIX}WARNING ⚠️ TensorBoard graph visualization failure {e}")
|
|
42
66
|
|
|
43
67
|
|
|
44
68
|
def on_pretrain_routine_start(trainer):
|
|
@@ -47,10 +71,9 @@ def on_pretrain_routine_start(trainer):
|
|
|
47
71
|
try:
|
|
48
72
|
global WRITER
|
|
49
73
|
WRITER = SummaryWriter(str(trainer.save_dir))
|
|
50
|
-
|
|
51
|
-
LOGGER.info(f"{prefix}Start with 'tensorboard --logdir {trainer.save_dir}', view at http://localhost:6006/")
|
|
74
|
+
LOGGER.info(f"{PREFIX}Start with 'tensorboard --logdir {trainer.save_dir}', view at http://localhost:6006/")
|
|
52
75
|
except Exception as e:
|
|
53
|
-
LOGGER.warning(f"WARNING ⚠️ TensorBoard not initialized correctly, not logging this run. {e}")
|
|
76
|
+
LOGGER.warning(f"{PREFIX}WARNING ⚠️ TensorBoard not initialized correctly, not logging this run. {e}")
|
|
54
77
|
|
|
55
78
|
|
|
56
79
|
def on_train_start(trainer):
|
ultralytics/utils/ops.py
CHANGED
|
@@ -220,7 +220,7 @@ def non_max_suppression(
|
|
|
220
220
|
|
|
221
221
|
# Settings
|
|
222
222
|
# min_wh = 2 # (pixels) minimum box width and height
|
|
223
|
-
time_limit = 0
|
|
223
|
+
time_limit = 2.0 + max_time_img * bs # seconds to quit after
|
|
224
224
|
multi_label &= nc > 1 # multiple labels per box (adds 0.5ms/img)
|
|
225
225
|
|
|
226
226
|
prediction = prediction.transpose(-1, -2) # shape(1,84,6300) to shape(1,6300,84)
|
|
@@ -547,7 +547,7 @@ def xywhr2xyxyxyxy(rboxes):
|
|
|
547
547
|
be in degrees from 0 to 90.
|
|
548
548
|
|
|
549
549
|
Args:
|
|
550
|
-
|
|
550
|
+
rboxes (numpy.ndarray | torch.Tensor): Input data in [cx, cy, w, h, rotation] format of shape (n, 5) or (b, n, 5).
|
|
551
551
|
|
|
552
552
|
Returns:
|
|
553
553
|
(numpy.ndarray | torch.Tensor): Converted corner points of shape (n, 4, 2) or (b, n, 4, 2).
|
ultralytics/utils/plotting.py
CHANGED
|
@@ -256,7 +256,7 @@ class Annotator:
|
|
|
256
256
|
# Convert to numpy first
|
|
257
257
|
self.im = np.asarray(self.im).copy()
|
|
258
258
|
nkpt, ndim = kpts.shape
|
|
259
|
-
is_pose = nkpt == 17 and ndim
|
|
259
|
+
is_pose = nkpt == 17 and ndim in {2, 3}
|
|
260
260
|
kpt_line &= is_pose # `kpt_line=True` for now only supports human pose plotting
|
|
261
261
|
for i, k in enumerate(kpts):
|
|
262
262
|
color_k = [int(x) for x in self.kpt_color[i]] if is_pose else colors(i)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.4
|
|
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
|
|
@@ -55,7 +55,7 @@ Requires-Dist: mkdocs-material ; extra == 'dev'
|
|
|
55
55
|
Requires-Dist: mkdocstrings[python] ; extra == 'dev'
|
|
56
56
|
Requires-Dist: mkdocs-jupyter ; extra == 'dev'
|
|
57
57
|
Requires-Dist: mkdocs-redirects ; extra == 'dev'
|
|
58
|
-
Requires-Dist: mkdocs-ultralytics-plugin >=0.0.
|
|
58
|
+
Requires-Dist: mkdocs-ultralytics-plugin >=0.0.38 ; extra == 'dev'
|
|
59
59
|
Provides-Extra: explorer
|
|
60
60
|
Requires-Dist: lancedb ; extra == 'explorer'
|
|
61
61
|
Requires-Dist: duckdb ; extra == 'explorer'
|
|
@@ -1,58 +1,60 @@
|
|
|
1
|
-
ultralytics/__init__.py,sha256=
|
|
1
|
+
ultralytics/__init__.py,sha256=H3oN7cWVppsQsAvJycia7cmwtmySz8rcVT26SpKTa_o,596
|
|
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=7VOr93XpIpRcVfCtwJYcCsIszbBooBAHJ9y8Msio_jw,20713
|
|
5
|
-
ultralytics/cfg/default.yaml,sha256=
|
|
6
|
-
ultralytics/cfg/datasets/Argoverse.yaml,sha256=
|
|
7
|
-
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=
|
|
8
|
-
ultralytics/cfg/datasets/DOTAv1.yaml,sha256=
|
|
9
|
-
ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=
|
|
10
|
-
ultralytics/cfg/datasets/ImageNet.yaml,sha256=
|
|
11
|
-
ultralytics/cfg/datasets/Objects365.yaml,sha256=
|
|
12
|
-
ultralytics/cfg/datasets/SKU-110K.yaml,sha256=
|
|
13
|
-
ultralytics/cfg/datasets/VOC.yaml,sha256=
|
|
14
|
-
ultralytics/cfg/datasets/VisDrone.yaml,sha256=
|
|
15
|
-
ultralytics/cfg/datasets/coco-pose.yaml,sha256=
|
|
16
|
-
ultralytics/cfg/datasets/coco.yaml,sha256=
|
|
17
|
-
ultralytics/cfg/datasets/coco128-seg.yaml,sha256=
|
|
18
|
-
ultralytics/cfg/datasets/coco128.yaml,sha256=
|
|
19
|
-
ultralytics/cfg/datasets/coco8-pose.yaml,sha256=
|
|
20
|
-
ultralytics/cfg/datasets/coco8-seg.yaml,sha256=
|
|
21
|
-
ultralytics/cfg/datasets/coco8.yaml,sha256=
|
|
22
|
-
ultralytics/cfg/datasets/dota8.yaml,sha256=
|
|
23
|
-
ultralytics/cfg/datasets/open-images-v7.yaml,sha256
|
|
24
|
-
ultralytics/cfg/datasets/tiger-pose.yaml,sha256=
|
|
25
|
-
ultralytics/cfg/datasets/xView.yaml,sha256=
|
|
26
|
-
ultralytics/cfg/models/rt-detr/rtdetr-l.yaml,sha256=
|
|
27
|
-
ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml,sha256=
|
|
28
|
-
ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml,sha256=
|
|
29
|
-
ultralytics/cfg/models/rt-detr/rtdetr-x.yaml,sha256=
|
|
30
|
-
ultralytics/cfg/models/v3/yolov3-spp.yaml,sha256=
|
|
31
|
-
ultralytics/cfg/models/v3/yolov3-tiny.yaml,sha256=
|
|
32
|
-
ultralytics/cfg/models/v3/yolov3.yaml,sha256
|
|
33
|
-
ultralytics/cfg/models/v5/yolov5-p6.yaml,sha256=
|
|
34
|
-
ultralytics/cfg/models/v5/yolov5.yaml,sha256=
|
|
35
|
-
ultralytics/cfg/models/v6/yolov6.yaml,sha256=
|
|
36
|
-
ultralytics/cfg/models/v8/yolov8-cls.yaml,sha256=
|
|
37
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
38
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
39
|
-
ultralytics/cfg/models/v8/yolov8-ghost.yaml,sha256=
|
|
40
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
41
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
42
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
43
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
44
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
45
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
46
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
47
|
-
ultralytics/cfg/models/v8/yolov8-
|
|
48
|
-
ultralytics/cfg/models/v8/yolov8.yaml,sha256=
|
|
49
|
-
ultralytics/cfg/
|
|
50
|
-
ultralytics/cfg/
|
|
5
|
+
ultralytics/cfg/default.yaml,sha256=Ihuy6Dziu-qm9dZ1qRSu7lrJB8sF3U8yTXPiZ9aKXlM,8091
|
|
6
|
+
ultralytics/cfg/datasets/Argoverse.yaml,sha256=FyeuJT5CHq_9d4hlfAf0kpZlnbUMO0S--UJ1yIqcdKk,3134
|
|
7
|
+
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=YDsyFPI6F6-OQXLBM3hOXo3vADYREwZzmMQfJNdpWyM,1193
|
|
8
|
+
ultralytics/cfg/datasets/DOTAv1.yaml,sha256=dxLUliHvJOW4q4vJRu5qIYVvNfjvXWB7GVh_Fhk--dM,1163
|
|
9
|
+
ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=crk8fSL1XSLXe9zlTV9UQx94wjQ4933CKQS6bBHRSJw,2058
|
|
10
|
+
ultralytics/cfg/datasets/ImageNet.yaml,sha256=P5t0rwMNZX2iu7ooBkd5xSi75m66ccBzO0XiBABGGhU,42507
|
|
11
|
+
ultralytics/cfg/datasets/Objects365.yaml,sha256=kiiV4KLMH2mcPPRrg6cQGygnbiTrHxwtAgA0ht6wcW4,9324
|
|
12
|
+
ultralytics/cfg/datasets/SKU-110K.yaml,sha256=geRkccBRl2eKgfNYTOPYwD9mTfqktTBGiMJoE3PZEnA,2493
|
|
13
|
+
ultralytics/cfg/datasets/VOC.yaml,sha256=3-CDpjIq_s5pkbsJ9TjrYIeV24rYGuJGu4Qg6uktEZE,3655
|
|
14
|
+
ultralytics/cfg/datasets/VisDrone.yaml,sha256=NfrbjVnE48E7TPbxtF7rtQHvVBO0DchFJFEuGrG1VRU,3073
|
|
15
|
+
ultralytics/cfg/datasets/coco-pose.yaml,sha256=w7H-J2e87GIV_PZdRDgqEFa75ObScpBK_l85U4ZMsMo,1603
|
|
16
|
+
ultralytics/cfg/datasets/coco.yaml,sha256=xbim-GcWpvF_uwlStjbPjxXFhVfL0U_WNQI99b5gjdY,2584
|
|
17
|
+
ultralytics/cfg/datasets/coco128-seg.yaml,sha256=6wRjT1C6eXblXzzSvCjXfVSYF12pjZl7DKVDkFbdUQ0,1925
|
|
18
|
+
ultralytics/cfg/datasets/coco128.yaml,sha256=vPraVMUKvhJY2dnhPbsCzwAPEOw1J8P6WyqkEUVysQY,1908
|
|
19
|
+
ultralytics/cfg/datasets/coco8-pose.yaml,sha256=MErskGM63ED7bJUNPd6Rv5nTPHR77GaqB3pgSzJ3heA,961
|
|
20
|
+
ultralytics/cfg/datasets/coco8-seg.yaml,sha256=hH0sEb_ZdtjziVg9PNNjdZADuYIbvYLD9-B2J7s7rlc,1865
|
|
21
|
+
ultralytics/cfg/datasets/coco8.yaml,sha256=yGDMRSehDIsT1h36JA-FTWZrtJRertD3tfoBLsS2Ydc,1840
|
|
22
|
+
ultralytics/cfg/datasets/dota8.yaml,sha256=HlwU4tpnUCCn7DQBXYRBGbfARNcALfCCRJnqycmHprg,1042
|
|
23
|
+
ultralytics/cfg/datasets/open-images-v7.yaml,sha256=gsN0JXLSdQglio024p6NEegNbX06kJUNuj0bh9oEi-U,12493
|
|
24
|
+
ultralytics/cfg/datasets/tiger-pose.yaml,sha256=v2pOOrijTqdFA82nd2Jt-ZOWKNQl_qYgEqSgl4d0xWs,864
|
|
25
|
+
ultralytics/cfg/datasets/xView.yaml,sha256=rjQPRNk--jlYN9wcVTu1KbopgZIkWXhr_s1UkSdcERs,5217
|
|
26
|
+
ultralytics/cfg/models/rt-detr/rtdetr-l.yaml,sha256=Nbzi93tAJhBw69hUNBkzXaeMMWwW6tWeAsdN8ynryuU,1934
|
|
27
|
+
ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml,sha256=o0nWoKciT-vypC2eS5qIEWNSac0L6vwLtbK9ucQluG4,1512
|
|
28
|
+
ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml,sha256=rb64WQK-3a_PebUcy6CbpskvlC74H9M3tMIr3R5vHDU,1510
|
|
29
|
+
ultralytics/cfg/models/rt-detr/rtdetr-x.yaml,sha256=E5utqNL7oNztyPKySGPoVET8RIUeqAqchdaslu5Zb5g,2141
|
|
30
|
+
ultralytics/cfg/models/v3/yolov3-spp.yaml,sha256=NfKJeBpDgDSwXo7fSN8myQUQ68YLB9xRtqdBgGlVPHs,1525
|
|
31
|
+
ultralytics/cfg/models/v3/yolov3-tiny.yaml,sha256=5mnGGCN-mNDvqvOz2AzGhfwEg01exzeHNPS3NA3poiY,1229
|
|
32
|
+
ultralytics/cfg/models/v3/yolov3.yaml,sha256=-94p4tePdDtdpnz79u7O1sChV69kTi01lFxcVGoJ8MY,1512
|
|
33
|
+
ultralytics/cfg/models/v5/yolov5-p6.yaml,sha256=2smCKuGT8Q263i0ImJJNU8Or-XXmuLMf9JanBm4TjiE,1894
|
|
34
|
+
ultralytics/cfg/models/v5/yolov5.yaml,sha256=sROQV8tgv6lLRgxwBDIo9Maz7NUJgYZR_I4MbM9O1BQ,1526
|
|
35
|
+
ultralytics/cfg/models/v6/yolov6.yaml,sha256=Sb0nmmtdqqHCFuExyT-Hip10ZL4m53bhYlKge0kFGCY,1718
|
|
36
|
+
ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml,sha256=uC6kl0Lvvlb8boIOR7BdAqYTS8YucH_91ZG3pOWIS7Q,883
|
|
37
|
+
ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml,sha256=FgkNmcgLjAQU34ukH4LMI6zc1paO8j7jyqrx-3qji9A,882
|
|
38
|
+
ultralytics/cfg/models/v8/yolov8-cls.yaml,sha256=-uN4IaCHFBmyJ1ZZ09h2d8z3ceVoSWXD44dbFRsBeaA,913
|
|
39
|
+
ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml,sha256=bn5DHwwZ3mAxUvaywq76_4JNgWabMFMCnCNoTpLSDKk,2288
|
|
40
|
+
ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml,sha256=kqgbEKNua7XwH95zteW6IzXaAjjaWA0ljzmCAI7b8E8,2356
|
|
41
|
+
ultralytics/cfg/models/v8/yolov8-ghost.yaml,sha256=WUHOI18aA11kgANDCWbDDy3jswNlP_nIkpWX09BfBuI,2096
|
|
42
|
+
ultralytics/cfg/models/v8/yolov8-obb.yaml,sha256=Tv5JDZTLOrfyBj3ggqse9ShjDpM-nIFIxhiseQKwJEA,1899
|
|
43
|
+
ultralytics/cfg/models/v8/yolov8-p2.yaml,sha256=tfHkkVAC0fkCc7AbisTzGpXW3Ffk2-K5-wjReSbm7Gw,1731
|
|
44
|
+
ultralytics/cfg/models/v8/yolov8-p6.yaml,sha256=9xVJo6qVuxRRDJfGNmTIPqjAvoJmxcdQOgewuNVOHHg,1835
|
|
45
|
+
ultralytics/cfg/models/v8/yolov8-pose-p6.yaml,sha256=yzxI20bMBdo6f5kd53VfuEHm_QqE_V3uwAvFJE0Tbr0,1927
|
|
46
|
+
ultralytics/cfg/models/v8/yolov8-pose.yaml,sha256=DHoJd7q7Hw89JBX5im-M3NWG8mge3VdPVNb4K4jTzIQ,1563
|
|
47
|
+
ultralytics/cfg/models/v8/yolov8-rtdetr.yaml,sha256=ofujf77LW3stXS6-leVM_ExROWifJ84D5WqRhujyVJI,1896
|
|
48
|
+
ultralytics/cfg/models/v8/yolov8-seg-p6.yaml,sha256=OfMLMHBOY6dt4_YsNuPANGPwM3BPBf7i_V3tQPyExYE,1845
|
|
49
|
+
ultralytics/cfg/models/v8/yolov8-seg.yaml,sha256=fN85m_aDMCH4oTJ3z-ft98Pdh6dk0pZh4oB1LInoJrA,1474
|
|
50
|
+
ultralytics/cfg/models/v8/yolov8.yaml,sha256=VjSe_V2Gn9ZpJrwTtz0A6_6IMp6UuugNiR7aEShR5rc,1889
|
|
51
|
+
ultralytics/cfg/trackers/botsort.yaml,sha256=YrPmj18p1UU40kJH5NRdL_4S8f7knggkk_q2KYnVudo,883
|
|
52
|
+
ultralytics/cfg/trackers/bytetrack.yaml,sha256=QvHmtuwulK4X6j3T5VEqtCm0sbWWBUVmWPcCcM20qe0,688
|
|
51
53
|
ultralytics/data/__init__.py,sha256=A3i0n-2MnNzSdYqhM8xynBO2HJNKGSXWhPvRyO0_u1I,409
|
|
52
54
|
ultralytics/data/annotator.py,sha256=evXQzARVerc0hb9ol-n_GrrHf-dlXO4lCMMWEZoJ2UM,2117
|
|
53
55
|
ultralytics/data/augment.py,sha256=ORotqUN-qulkHxzoW5hFF_CZDlBhuaqGgAsiPUVIf4I,52000
|
|
54
56
|
ultralytics/data/base.py,sha256=XcgBVEr-9wl58Ka-5gJUMg43LXsBQ6PiCKdHWZTdvEI,13216
|
|
55
|
-
ultralytics/data/build.py,sha256=
|
|
57
|
+
ultralytics/data/build.py,sha256=dVP0PKuaiWk5ndpHca-xAOdRx5EIcmULKyRgqO5E_tQ,6440
|
|
56
58
|
ultralytics/data/converter.py,sha256=sju4NdjyKAtdKHMgYDD7yBKmP0gd3Q96PI4UInyi2Q0,13840
|
|
57
59
|
ultralytics/data/dataset.py,sha256=waqG4WiQ8hSVo5IMydq1NvMNQ5IM2du_m0bCv1q140U,16504
|
|
58
60
|
ultralytics/data/loaders.py,sha256=loSxGXzfzxrxuL3pPqTcCXoqhI3BP5RrvjIjBnaK7Dk,22300
|
|
@@ -65,15 +67,15 @@ ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2
|
|
|
65
67
|
ultralytics/data/explorer/gui/dash.py,sha256=O6TGD3y0DWZuwaRUkSKpB5mXf-tSw7p-O_KE8kiZP2k,8903
|
|
66
68
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
67
69
|
ultralytics/engine/exporter.py,sha256=tT3Egg-56KwmvgokQUNIXVpgkXj1uxuEaw6w_wpuUu8,52004
|
|
68
|
-
ultralytics/engine/model.py,sha256=
|
|
70
|
+
ultralytics/engine/model.py,sha256=nUvlHYaj0m_O8rx-TdGSc3GWHsthM36JKEK2cV7KZgo,21505
|
|
69
71
|
ultralytics/engine/predictor.py,sha256=CbZUppzq2gT6zcas6jtKQ9-IbH_Lh3Az5z9zCcIl5f0,17850
|
|
70
72
|
ultralytics/engine/results.py,sha256=zYLE8yMa_qjIHCvhvSDLU2QSUKH7as1hvabKEwYWkKs,27527
|
|
71
|
-
ultralytics/engine/trainer.py,sha256=
|
|
73
|
+
ultralytics/engine/trainer.py,sha256=xCBpfBT4YUqfW7F1sjPY0bmjOWBEnfmE3LQ1BiXPTrA,34264
|
|
72
74
|
ultralytics/engine/tuner.py,sha256=yJTecrgsZbeE4XC8iJWoUA_DKACUnDSt8N1V_PTeCcc,11758
|
|
73
75
|
ultralytics/engine/validator.py,sha256=znVY4997-pMzx23FP_JpQczIEvWT5jp-sIEovYXI6RQ,14576
|
|
74
76
|
ultralytics/hub/__init__.py,sha256=yH_bbIOUwZsDgoxnrvv_8a96DuPNzaZaK5jejzy8r_4,5020
|
|
75
77
|
ultralytics/hub/auth.py,sha256=92vY72MsvXdubj_CCHwsGI2UVVZxIG_MEDvIBMkxm5o,5366
|
|
76
|
-
ultralytics/hub/session.py,sha256=
|
|
78
|
+
ultralytics/hub/session.py,sha256=6ltA1DxoKBMWJWNdyShc_nUndY3EjuBs3OtW9HUP7sQ,14226
|
|
77
79
|
ultralytics/hub/utils.py,sha256=rfUfr1gI_gN2hq6A8AzCejep6DBvsElBIqz-BFzZoRc,9736
|
|
78
80
|
ultralytics/models/__init__.py,sha256=-i1eeXMAglo0zMRGG3phmdoJNO7OJQZgyj8j0t7eiDE,173
|
|
79
81
|
ultralytics/models/fastsam/__init__.py,sha256=0dt65jZ_5b7Q-mdXN8MSEkgnFRA0FIwlel_LS2RaOlU,254
|
|
@@ -133,8 +135,8 @@ ultralytics/nn/tasks.py,sha256=vbaN_C0BHoHnoebi74ODsR-oC-4YG3K1OAduDEcM9Z8,38370
|
|
|
133
135
|
ultralytics/nn/modules/__init__.py,sha256=ejmeNK9L-yGUX3pGr_1-HlPcCdrf7XPLFVZ3OR0mmno,1954
|
|
134
136
|
ultralytics/nn/modules/block.py,sha256=1bi5rRzHNTg10VlRdpRP_xjTJHEIfMQ1FY2nIgHKmws,14488
|
|
135
137
|
ultralytics/nn/modules/conv.py,sha256=ndUYNL2f9DK41y1vVbtEusMByXy-LMMsBKlcWjRQ9Z8,12722
|
|
136
|
-
ultralytics/nn/modules/head.py,sha256=
|
|
137
|
-
ultralytics/nn/modules/transformer.py,sha256=
|
|
138
|
+
ultralytics/nn/modules/head.py,sha256=WrIzLCQ71o3Bk0VlFCS6EpebCXvluah5d6Zs0C5Eo_c,19534
|
|
139
|
+
ultralytics/nn/modules/transformer.py,sha256=TgDpTjSkk1_-9IrIjm8bebcG5fSO9GVb5Onz0cdR21Q,17910
|
|
138
140
|
ultralytics/nn/modules/utils.py,sha256=6CCeDy6GGkDM7XjGm4FCtVpXoEuICIPCsruI8etNS3g,3197
|
|
139
141
|
ultralytics/solutions/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
140
142
|
ultralytics/solutions/ai_gym.py,sha256=d3XRr-u0vIp1Bi9mAwDzGkxBztnhWU_ak5e8XR2J31s,6006
|
|
@@ -162,9 +164,9 @@ ultralytics/utils/files.py,sha256=V1cD9sC3hGd5uNVdOa4uZGySGjnsXC6Lh7mjqI_UDxo,52
|
|
|
162
164
|
ultralytics/utils/instance.py,sha256=fPClvPPtTk8VeXWiRv90DrFk1j1lTUKdYJtpZKUDDtA,15575
|
|
163
165
|
ultralytics/utils/loss.py,sha256=erpbpLbt_VNOO-FItADFOjKTfwuf2A3ozECuCJiSqHM,32555
|
|
164
166
|
ultralytics/utils/metrics.py,sha256=h0aQNyW2_eud3M-7KT8C1P15GeJkf9Sw9KoASXMPim0,53176
|
|
165
|
-
ultralytics/utils/ops.py,sha256=
|
|
167
|
+
ultralytics/utils/ops.py,sha256=ULh7Luwvpnnim9_YRZuJfPe4tETC4_Atulqf6-R3AHw,32665
|
|
166
168
|
ultralytics/utils/patches.py,sha256=2iMWzwBpAjTt0UzaPzFO5JPVoKklUhftuo_3H7xBoDc,2659
|
|
167
|
-
ultralytics/utils/plotting.py,sha256=
|
|
169
|
+
ultralytics/utils/plotting.py,sha256=nl3GZsWe4-pBNwY7V8hOtT1GKAxdmwN_kCaNb8Kk9Hc,42710
|
|
168
170
|
ultralytics/utils/tal.py,sha256=fQ6dPFEJTVtFBFeTS_rtZMx_UsJyi80s3YfT8joCC6M,16015
|
|
169
171
|
ultralytics/utils/torch_utils.py,sha256=Byij6JEKJeQE_G00wWpRJi0eorSo0xwXbwHJKzt_Jsk,25141
|
|
170
172
|
ultralytics/utils/triton.py,sha256=tX3iEHFVBLJctnn9gybVk7PHk5kMkkLxwwAyfeWiT8s,3934
|
|
@@ -178,11 +180,11 @@ ultralytics/utils/callbacks/hub.py,sha256=8zeiCkmwPc0W-W02QDNgk-o08GlUTj_k5nleLJ
|
|
|
178
180
|
ultralytics/utils/callbacks/mlflow.py,sha256=x3_au37OP23MeWNncoBFO2NIiwWRzZAQ0KdZ-Q0sRkg,4848
|
|
179
181
|
ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyzC5q7p4ipQ,3756
|
|
180
182
|
ultralytics/utils/callbacks/raytune.py,sha256=6OgGNuC35F29lw8Dl_d0lue4-iBR6dqrBVQnIRQDx4E,632
|
|
181
|
-
ultralytics/utils/callbacks/tensorboard.py,sha256=
|
|
183
|
+
ultralytics/utils/callbacks/tensorboard.py,sha256=fyhgBgcTmEIifBqxBJkoMZ6yQNBGhSLQBAsy770-RtA,4038
|
|
182
184
|
ultralytics/utils/callbacks/wb.py,sha256=03ACY2YwpTRigD0ZQH7_zlpwMdGw0lt23zX4d5Zaz28,6650
|
|
183
|
-
ultralytics-8.1.
|
|
184
|
-
ultralytics-8.1.
|
|
185
|
-
ultralytics-8.1.
|
|
186
|
-
ultralytics-8.1.
|
|
187
|
-
ultralytics-8.1.
|
|
188
|
-
ultralytics-8.1.
|
|
185
|
+
ultralytics-8.1.4.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
186
|
+
ultralytics-8.1.4.dist-info/METADATA,sha256=gQsFZnVfAJU9V3DkBpqpQb_ugBDM20nQ0ber49Mr824,40204
|
|
187
|
+
ultralytics-8.1.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
188
|
+
ultralytics-8.1.4.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
189
|
+
ultralytics-8.1.4.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
190
|
+
ultralytics-8.1.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|