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.

Files changed (64) hide show
  1. ultralytics/__init__.py +15 -3
  2. ultralytics/cfg/datasets/Argoverse.yaml +7 -7
  3. ultralytics/cfg/datasets/DOTAv1.5.yaml +4 -4
  4. ultralytics/cfg/datasets/DOTAv1.yaml +4 -4
  5. ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -3
  6. ultralytics/cfg/datasets/ImageNet.yaml +4 -6
  7. ultralytics/cfg/datasets/Objects365.yaml +3 -5
  8. ultralytics/cfg/datasets/SKU-110K.yaml +4 -6
  9. ultralytics/cfg/datasets/VOC.yaml +0 -2
  10. ultralytics/cfg/datasets/VisDrone.yaml +4 -6
  11. ultralytics/cfg/datasets/coco-pose.yaml +5 -6
  12. ultralytics/cfg/datasets/coco.yaml +4 -6
  13. ultralytics/cfg/datasets/coco128-seg.yaml +4 -6
  14. ultralytics/cfg/datasets/coco128.yaml +4 -6
  15. ultralytics/cfg/datasets/coco8-pose.yaml +5 -6
  16. ultralytics/cfg/datasets/coco8-seg.yaml +4 -6
  17. ultralytics/cfg/datasets/coco8.yaml +4 -6
  18. ultralytics/cfg/datasets/dota8.yaml +3 -3
  19. ultralytics/cfg/datasets/open-images-v7.yaml +4 -6
  20. ultralytics/cfg/datasets/tiger-pose.yaml +4 -5
  21. ultralytics/cfg/datasets/xView.yaml +3 -5
  22. ultralytics/cfg/default.yaml +103 -103
  23. ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +27 -27
  24. ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +23 -23
  25. ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +23 -23
  26. ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +27 -27
  27. ultralytics/cfg/models/v3/yolov3-spp.yaml +18 -18
  28. ultralytics/cfg/models/v3/yolov3-tiny.yaml +16 -16
  29. ultralytics/cfg/models/v3/yolov3.yaml +18 -18
  30. ultralytics/cfg/models/v5/yolov5-p6.yaml +24 -24
  31. ultralytics/cfg/models/v5/yolov5.yaml +18 -19
  32. ultralytics/cfg/models/v6/yolov6.yaml +17 -17
  33. ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +25 -0
  34. ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +25 -0
  35. ultralytics/cfg/models/v8/yolov8-cls.yaml +7 -7
  36. ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +26 -26
  37. ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +27 -27
  38. ultralytics/cfg/models/v8/yolov8-ghost.yaml +23 -23
  39. ultralytics/cfg/models/v8/yolov8-obb.yaml +23 -23
  40. ultralytics/cfg/models/v8/yolov8-p2.yaml +23 -23
  41. ultralytics/cfg/models/v8/yolov8-p6.yaml +24 -24
  42. ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +25 -25
  43. ultralytics/cfg/models/v8/yolov8-pose.yaml +19 -19
  44. ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +23 -23
  45. ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +24 -24
  46. ultralytics/cfg/models/v8/yolov8-seg.yaml +18 -18
  47. ultralytics/cfg/models/v8/yolov8.yaml +23 -23
  48. ultralytics/cfg/trackers/botsort.yaml +7 -7
  49. ultralytics/cfg/trackers/bytetrack.yaml +6 -6
  50. ultralytics/data/build.py +1 -1
  51. ultralytics/engine/model.py +11 -7
  52. ultralytics/engine/trainer.py +1 -4
  53. ultralytics/hub/session.py +1 -1
  54. ultralytics/nn/modules/head.py +1 -1
  55. ultralytics/nn/modules/transformer.py +3 -3
  56. ultralytics/utils/callbacks/tensorboard.py +38 -15
  57. ultralytics/utils/ops.py +2 -2
  58. ultralytics/utils/plotting.py +1 -1
  59. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/METADATA +2 -2
  60. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/RECORD +64 -62
  61. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/LICENSE +0 -0
  62. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/WHEEL +0 -0
  63. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/entry_points.txt +0 -0
  64. {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 # 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
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 # method of global motion compensation
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 # 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
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), batch, workers]) # number of workers
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)
@@ -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=True):
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 permission error
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
- return self.model.names if hasattr(self.model, "names") else None
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):
@@ -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
@@ -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 = {
@@ -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 = len(feats)
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 issue in https://github.com/ultralytics/ultralytics/pull/4674
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
- from ultralytics.utils.torch_utils import de_parallel, torch
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
- imgsz = trainer.args.imgsz
34
- imgsz = (imgsz, imgsz) if isinstance(imgsz, int) else imgsz
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
- except Exception as e:
41
- LOGGER.warning(f"WARNING ⚠️ TensorBoard graph visualization failure {e}")
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
- prefix = colorstr("TensorBoard: ")
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.5 + max_time_img * bs # seconds to quit after
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
- center (numpy.ndarray | torch.Tensor): Input data in [cx, cy, w, h, rotation] format of shape (n, 5) or (b, n, 5).
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).
@@ -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 == 3
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.2
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.34 ; extra == 'dev'
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=a3NDnkBLuHSqMIYQMI9-xZBJ0nlnH1IzXz6uoT52J9g,529
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=fXBQCccyGRnLePGq-3GSKohK5qJpPyqPqUy7dRLmaGM,8196
6
- ultralytics/cfg/datasets/Argoverse.yaml,sha256=BmgoMqzm4QsxOOM_S2Hkd2WhWidlRQReximgnc7vtAg,2930
7
- ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=tFSOTOi3w7lv54Dht0HXtWLqx4jKf_AjpFkwtE2p7Zo,1197
8
- ultralytics/cfg/datasets/DOTAv1.yaml,sha256=X7iur0KOdDYofKw25FMDQgjPr62DvSRCtxdifSbWebo,1167
9
- ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=ttj6L6KMDmvtSbW8rY0WNKSvvXC25VxwsaEhmRvO7qs,2061
10
- ultralytics/cfg/datasets/ImageNet.yaml,sha256=CQxQkT6LdywQzAMNAtdv5kUTI7z516NocebUMTDcK_I,42513
11
- ultralytics/cfg/datasets/Objects365.yaml,sha256=nTcfSdc_bBY8uKuyYAZRYjrHSpV4-EcwR7HNZq247lM,9329
12
- ultralytics/cfg/datasets/SKU-110K.yaml,sha256=mvHmdb0s6dbYifUSxxqtdr9N4-LFPXKr3JWoRNybXwE,2499
13
- ultralytics/cfg/datasets/VOC.yaml,sha256=9A_FzOCY0iFo61vyVz4erfbtWy44PJWMVjI1xV35Y3w,3657
14
- ultralytics/cfg/datasets/VisDrone.yaml,sha256=BIrrWOiyhHa00Yo-OCo_v8d0BoBSyRkY4DTPeB2NlQE,3079
15
- ultralytics/cfg/datasets/coco-pose.yaml,sha256=x99JydETxYJzteUz9JN-V_eRAA_KcCz4hJFX96rInEo,1609
16
- ultralytics/cfg/datasets/coco.yaml,sha256=lNDl5Sy0YJCi8npmNcbgHVE3l6CKdQ8rdAKzBGKiGBQ,2590
17
- ultralytics/cfg/datasets/coco128-seg.yaml,sha256=Zi6SR-SGKjgkVhXngvGtd0__Vs4Moe2LcwmKrKgiPzY,1931
18
- ultralytics/cfg/datasets/coco128.yaml,sha256=UhBuqpROmmhYTLLIXYIhSnT0Uo-pUsWT2x4200rjKBo,1914
19
- ultralytics/cfg/datasets/coco8-pose.yaml,sha256=mEGAoP_lo26dqXojNUnj7pv7bA4J9l3d7TI9BieZAFk,967
20
- ultralytics/cfg/datasets/coco8-seg.yaml,sha256=A5WI0oNOmJouOW5NSxlKtfDDw_pORMw3Ofbsugwsaws,1871
21
- ultralytics/cfg/datasets/coco8.yaml,sha256=zw8H49_J266ymlAGgf4yl4Z2DejA72uaKHMOTCwCloo,1846
22
- ultralytics/cfg/datasets/dota8.yaml,sha256=gMmuz2hjCLw-GQ649mng5qDdqC5IENrPQwj9X_sNLyQ,1045
23
- ultralytics/cfg/datasets/open-images-v7.yaml,sha256=-Jt6pLrkxJrsQDIkzxqhCJHW8WoYq9OzKDTXjGuZAQc,12499
24
- ultralytics/cfg/datasets/tiger-pose.yaml,sha256=WNOaxUM628ewNQbqz1lPRxhYpIDLktgAWwtOaiu3r98,869
25
- ultralytics/cfg/datasets/xView.yaml,sha256=v3H7uGibhN_RMHPCchqN_CikH1EtGIXTZuhDBKvGpjs,5222
26
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml,sha256=Vi0qtzSupvrWQzYWmHCiOc6kEvuKkRbAbqcdanKtEz8,1959
27
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml,sha256=6-D9oVLN-KDAxYMdpl_C5VN_9P9RcqCsgNtNLSlV9b4,1533
28
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml,sha256=vwpY1mazBW2xHcTAparUlXo0cX7_CopcBRRI0ojw2-g,1531
29
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml,sha256=pVc1eYW_1VFyTlA_fMfj712CVwmG0_4ZyOEpZbMQwpE,2166
30
- ultralytics/cfg/models/v3/yolov3-spp.yaml,sha256=_KC38pBa7DeC7FKFx7Se5gRo85yWKd-Tyd2Q8dpeXMk,1542
31
- ultralytics/cfg/models/v3/yolov3-tiny.yaml,sha256=BpEvC__cnOkqETxpif8gzqzPIqw9KJTCC7OfTjprhSk,1244
32
- ultralytics/cfg/models/v3/yolov3.yaml,sha256=VkgwumVj2hf7fWZvNgYVjl_Gre4fcqRM4_xf9d1Jph8,1529
33
- ultralytics/cfg/models/v5/yolov5-p6.yaml,sha256=_5_fIWZJ2lnwefzsyzGVsYL-X5uFSa42LwAzkT2xh58,1915
34
- ultralytics/cfg/models/v5/yolov5.yaml,sha256=QCMXJKRlHISR6YyEFgfWKK25tv2nHJ_dcp7SKD11KT8,1543
35
- ultralytics/cfg/models/v6/yolov6.yaml,sha256=rXb2qPqpm14WVLV4nh8ib-fEjhRa_nuMiCkGdelXbDo,1735
36
- ultralytics/cfg/models/v8/yolov8-cls.yaml,sha256=rO8Eq8OuTQUkYMQi2AtNgVvtsPHYNxEXr9xT29k-IG8,920
37
- ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml,sha256=-lUAC6ZCnqoh6mzxiwHABm4mt9bMZWfcmD3qFKXeeTE,2311
38
- ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml,sha256=RIOVsIzaTKcB2AqbswRKPEtVEUHvA_GTyCzSGzAQQoc,2380
39
- ultralytics/cfg/models/v8/yolov8-ghost.yaml,sha256=y2MGNR0_IzbLqUDjG1IYKNHHLcH1MWkwGzc2IczJsVM,2120
40
- ultralytics/cfg/models/v8/yolov8-obb.yaml,sha256=jDb5KVG64UBeq1BzDLOtOMnve3uPdXPe-yfYi2EAWEI,1923
41
- ultralytics/cfg/models/v8/yolov8-p2.yaml,sha256=jgBsa0-uNwtDHGHJWLVEwuFwxq_twpl9ihRIc4b6bk8,1751
42
- ultralytics/cfg/models/v8/yolov8-p6.yaml,sha256=oGN0OQ9TtVnttzLd9frFVav8dPxe3OuUA8p4PFRrQmM,1856
43
- ultralytics/cfg/models/v8/yolov8-pose-p6.yaml,sha256=4sGjrH3lJ7i19Dq1aedCofUI3RyOsn3v98MzWyGovZ8,1949
44
- ultralytics/cfg/models/v8/yolov8-pose.yaml,sha256=kfQnVeZK5sfdRGKuBUpNmIUxXO89qWchQUG-xQHkDDk,1580
45
- ultralytics/cfg/models/v8/yolov8-rtdetr.yaml,sha256=7jfhW8JwL2HojeNR4PYNvsB3rJkiGBMA7VrZ2xdHJRs,1920
46
- ultralytics/cfg/models/v8/yolov8-seg-p6.yaml,sha256=bSPxw96Az9kibJ4D-5pvuhOMrKe1z7RrPuKqTtLFlOw,1866
47
- ultralytics/cfg/models/v8/yolov8-seg.yaml,sha256=QvXQOvQsyYj2GAB-ePB48g4N9jW5JdIkeH800Ev64uI,1490
48
- ultralytics/cfg/models/v8/yolov8.yaml,sha256=A01V3w3qsOBgAAT9e2AwxXhU_SALEI2IvdoqcPOTnxc,1913
49
- ultralytics/cfg/trackers/botsort.yaml,sha256=N3ddRUl2uOvJI_Q7TBIw88MyaeV240X_wlx5Z6IiUhU,890
50
- ultralytics/cfg/trackers/bytetrack.yaml,sha256=FFpmCj7E0xpOde7R-W3zUVcy6hKCHAij9qwp9SAp-pI,694
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=SKM4jWseCsjoCEUvOV8BS5udFml7x5wjyBBGEpjxb9w,6447
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=XH5eOryj0QuAn5GRMQUfveKB-hcJdvJ50dvmU18ANIg,21168
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=RHWzp1xe7ZFulVC6WroATjBnnr_53EBB3KXl6a9Jjro,34296
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=j3v_ctbO_HanUtf3VQr-SD6gm4UgDvKHdtTewB6e7P8,14208
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=NmBGgrMLQ9DGfGg5zskzLaR84NYxipI-5NOQ0gapaho,19530
137
- ultralytics/nn/modules/transformer.py,sha256=GiHdW306OcsUilSwSOtMufvwK798Sc9pG9MiFAt2Ay4,17920
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=TKp7e8QOGVOZuT4hHNFTCPqfiXHNG8PWEfUF76o8rF8,32665
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=T87yFSGzf_AvJ15evy_k5CqL7vIBkIbOrm3KgLLo6F4,42705
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=KOvmZTLL0C1GatB7zD9ef19DJWMMgyGRv7Kj5NEJOfg,3044
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.2.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
184
- ultralytics-8.1.2.dist-info/METADATA,sha256=Ufj8rCGojRc86nfUzjsp4Ato3ZqWUTFosnor8Pd75p0,40204
185
- ultralytics-8.1.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
186
- ultralytics-8.1.2.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
187
- ultralytics-8.1.2.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
188
- ultralytics-8.1.2.dist-info/RECORD,,
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,,