ultralytics 8.3.16__py3-none-any.whl → 8.3.18__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.3.16"
3
+ __version__ = "8.3.18"
4
4
 
5
5
  import os
6
6
 
@@ -438,34 +438,60 @@ def check_dict_alignment(base: Dict, custom: Dict, e=None):
438
438
 
439
439
  def merge_equals_args(args: List[str]) -> List[str]:
440
440
  """
441
- Merges arguments around isolated '=' in a list of strings, handling three cases:
442
- 1. ['arg', '=', 'val'] becomes ['arg=val'],
443
- 2. ['arg=', 'val'] becomes ['arg=val'],
444
- 3. ['arg', '=val'] becomes ['arg=val'].
441
+ Merges arguments around isolated '=' in a list of strings and joins fragments with brackets.
442
+
443
+ This function handles the following cases:
444
+ 1. ['arg', '=', 'val'] becomes ['arg=val']
445
+ 2. ['arg=', 'val'] becomes ['arg=val']
446
+ 3. ['arg', '=val'] becomes ['arg=val']
447
+ 4. Joins fragments with brackets, e.g., ['imgsz=[3,', '640,', '640]'] becomes ['imgsz=[3,640,640]']
445
448
 
446
449
  Args:
447
- args (List[str]): A list of strings where each element represents an argument.
450
+ args (List[str]): A list of strings where each element represents an argument or fragment.
448
451
 
449
452
  Returns:
450
- (List[str]): A list of strings where the arguments around isolated '=' are merged.
453
+ List[str]: A list of strings where the arguments around isolated '=' are merged and fragments with brackets are joined.
451
454
 
452
455
  Examples:
453
- >>> args = ["arg1", "=", "value", "arg2=", "value2", "arg3", "=value3"]
454
- >>> merge_equals_args(args)
455
- ['arg1=value', 'arg2=value2', 'arg3=value3']
456
+ >>> args = ["arg1", "=", "value", "arg2=", "value2", "arg3", "=value3", "imgsz=[3,", "640,", "640]"]
457
+ >>> merge_and_join_args(args)
458
+ ['arg1=value', 'arg2=value2', 'arg3=value3', 'imgsz=[3,640,640]']
456
459
  """
457
460
  new_args = []
458
- for i, arg in enumerate(args):
461
+ current = ""
462
+ depth = 0
463
+
464
+ i = 0
465
+ while i < len(args):
466
+ arg = args[i]
467
+
468
+ # Handle equals sign merging
459
469
  if arg == "=" and 0 < i < len(args) - 1: # merge ['arg', '=', 'val']
460
470
  new_args[-1] += f"={args[i + 1]}"
461
- del args[i + 1]
471
+ i += 2
472
+ continue
462
473
  elif arg.endswith("=") and i < len(args) - 1 and "=" not in args[i + 1]: # merge ['arg=', 'val']
463
474
  new_args.append(f"{arg}{args[i + 1]}")
464
- del args[i + 1]
475
+ i += 2
476
+ continue
465
477
  elif arg.startswith("=") and i > 0: # merge ['arg', '=val']
466
478
  new_args[-1] += arg
467
- else:
468
- new_args.append(arg)
479
+ i += 1
480
+ continue
481
+
482
+ # Handle bracket joining
483
+ depth += arg.count("[") - arg.count("]")
484
+ current += arg
485
+ if depth == 0:
486
+ new_args.append(current)
487
+ current = ""
488
+
489
+ i += 1
490
+
491
+ # Append any remaining current string
492
+ if current:
493
+ new_args.append(current)
494
+
469
495
  return new_args
470
496
 
471
497
 
@@ -482,7 +508,7 @@ def handle_yolo_hub(args: List[str]) -> None:
482
508
 
483
509
  Examples:
484
510
  ```bash
485
- yolo hub login YOUR_API_KEY
511
+ yolo login YOUR_API_KEY
486
512
  ```
487
513
 
488
514
  Notes:
@@ -1,5 +1,5 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # COCO128-seg dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
2
+ # COCO128-seg dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
3
3
  # Documentation: https://docs.ultralytics.com/datasets/segment/coco/
4
4
  # Example usage: yolo train data=coco128.yaml
5
5
  # parent
@@ -1,5 +1,5 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
2
+ # COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
3
3
  # Documentation: https://docs.ultralytics.com/datasets/detect/coco/
4
4
  # Example usage: yolo train data=coco128.yaml
5
5
  # parent
@@ -63,13 +63,13 @@ def login(api_key: str = None, save=True) -> bool:
63
63
  return True
64
64
  else:
65
65
  # Failed to authenticate with HUB
66
- LOGGER.info(f"{PREFIX}Get API key from {api_key_url} and then run 'yolo hub login API_KEY'")
66
+ LOGGER.info(f"{PREFIX}Get API key from {api_key_url} and then run 'yolo login API_KEY'")
67
67
  return False
68
68
 
69
69
 
70
70
  def logout():
71
71
  """
72
- Log out of Ultralytics HUB by removing the API key from the settings file. To log in again, use 'yolo hub login'.
72
+ Log out of Ultralytics HUB by removing the API key from the settings file. To log in again, use 'yolo login'.
73
73
 
74
74
  Example:
75
75
  ```python
@@ -79,7 +79,7 @@ def logout():
79
79
  ```
80
80
  """
81
81
  SETTINGS["api_key"] = ""
82
- LOGGER.info(f"{PREFIX}logged out ✅. To log in again, use 'yolo hub login'.")
82
+ LOGGER.info(f"{PREFIX}logged out ✅. To log in again, use 'yolo login'.")
83
83
 
84
84
 
85
85
  def reset_model(model_id=""):
ultralytics/hub/auth.py CHANGED
@@ -68,7 +68,7 @@ class Auth:
68
68
  if verbose:
69
69
  LOGGER.info(f"{PREFIX}New authentication successful ✅")
70
70
  elif verbose:
71
- LOGGER.info(f"{PREFIX}Get API key from {API_KEY_URL} and then run 'yolo hub login API_KEY'")
71
+ LOGGER.info(f"{PREFIX}Get API key from {API_KEY_URL} and then run 'yolo login API_KEY'")
72
72
 
73
73
  def request_api_key(self, max_attempts=3):
74
74
  """
@@ -28,6 +28,7 @@ class Detect(nn.Module):
28
28
  shape = None
29
29
  anchors = torch.empty(0) # init
30
30
  strides = torch.empty(0) # init
31
+ legacy = False # backward compatibility for v3/v5/v8/v9 models
31
32
 
32
33
  def __init__(self, nc=80, ch=()):
33
34
  """Initializes the YOLO detection layer with specified number of classes and channels."""
@@ -41,13 +42,17 @@ class Detect(nn.Module):
41
42
  self.cv2 = nn.ModuleList(
42
43
  nn.Sequential(Conv(x, c2, 3), Conv(c2, c2, 3), nn.Conv2d(c2, 4 * self.reg_max, 1)) for x in ch
43
44
  )
44
- self.cv3 = nn.ModuleList(
45
- nn.Sequential(
46
- nn.Sequential(DWConv(x, x, 3), Conv(x, c3, 1)),
47
- nn.Sequential(DWConv(c3, c3, 3), Conv(c3, c3, 1)),
48
- nn.Conv2d(c3, self.nc, 1),
45
+ self.cv3 = (
46
+ nn.ModuleList(nn.Sequential(Conv(x, c3, 3), Conv(c3, c3, 3), nn.Conv2d(c3, self.nc, 1)) for x in ch)
47
+ if self.legacy
48
+ else nn.ModuleList(
49
+ nn.Sequential(
50
+ nn.Sequential(DWConv(x, x, 3), Conv(x, c3, 1)),
51
+ nn.Sequential(DWConv(c3, c3, 3), Conv(c3, c3, 1)),
52
+ nn.Conv2d(c3, self.nc, 1),
53
+ )
54
+ for x in ch
49
55
  )
50
- for x in ch
51
56
  )
52
57
  self.dfl = DFL(self.reg_max) if self.reg_max > 1 else nn.Identity()
53
58
 
ultralytics/nn/tasks.py CHANGED
@@ -936,6 +936,7 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
936
936
  import ast
937
937
 
938
938
  # Args
939
+ legacy = True # backward compatibility for v3/v5/v8/v9 models
939
940
  max_channels = float("inf")
940
941
  nc, act, scales = (d.get(x) for x in ("nc", "activation", "scales"))
941
942
  depth, width, kpt_shape = (d.get(x, 1.0) for x in ("depth_multiple", "width_multiple", "kpt_shape"))
@@ -1027,8 +1028,10 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
1027
1028
  }:
1028
1029
  args.insert(2, n) # number of repeats
1029
1030
  n = 1
1030
- if m is C3k2 and scale in "mlx": # for M/L/X sizes
1031
- args[3] = True
1031
+ if m is C3k2: # for M/L/X sizes
1032
+ legacy = False
1033
+ if scale in "mlx":
1034
+ args[3] = True
1032
1035
  elif m is AIFI:
1033
1036
  args = [ch[f], *args]
1034
1037
  elif m in {HGStem, HGBlock}:
@@ -1047,6 +1050,8 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
1047
1050
  args.append([ch[x] for x in f])
1048
1051
  if m is Segment:
1049
1052
  args[2] = make_divisible(min(args[2], max_channels) * width, 8)
1053
+ if m in {Detect, Segment, Pose, OBB}:
1054
+ m.legacy = legacy
1050
1055
  elif m is RTDETRDecoder: # special case, channels arg must be passed in index 1
1051
1056
  args.insert(1, [ch[x] for x in f])
1052
1057
  elif m is CBLinear:
@@ -571,7 +571,7 @@ def is_jupyter():
571
571
  Returns:
572
572
  (bool): True if running inside a Jupyter Notebook, False otherwise.
573
573
  """
574
- return "get_ipython" in locals()
574
+ return "get_ipython" in globals()
575
575
 
576
576
 
577
577
  def is_docker() -> bool:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.3.16
3
+ Version: 8.3.18
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -103,7 +103,7 @@ Requires-Dist: streamlit; extra == "solutions"
103
103
  <br>
104
104
  <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
105
105
  <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
106
- <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
106
+ <a href="https://www.kaggle.com/models/ultralytics/yolo11"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
107
107
  </div>
108
108
  <br>
109
109
 
@@ -316,9 +316,9 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
316
316
  <img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" alt="NeuralMagic logo"></a>
317
317
  </div>
318
318
 
319
- | Ultralytics HUB 🚀 | W&B | Comet ⭐ NEW | Neural Magic |
320
- | :----------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
321
- | Streamline YOLO workflows: Label, train, and deploy effortlessly with [Ultralytics HUB](https://ultralytics.com/hub). Try now! | Track experiments, hyperparameters, and results with [Weights & Biases](https://docs.wandb.ai/guides/integrations/ultralytics/) | Free forever, [Comet](https://bit.ly/yolov5-readme-comet) lets you save YOLO11 models, resume training, and interactively visualize and debug predictions | Run YOLO11 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
319
+ | Ultralytics HUB 🚀 | W&B | Comet ⭐ NEW | Neural Magic |
320
+ | :--------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
321
+ | Streamline YOLO workflows: Label, train, and deploy effortlessly with [Ultralytics HUB](https://www.ultralytics.com/hub). Try now! | Track experiments, hyperparameters, and results with [Weights & Biases](https://docs.wandb.ai/guides/integrations/ultralytics/) | Free forever, [Comet](https://bit.ly/yolov5-readme-comet) lets you save YOLO11 models, resume training, and interactively visualize and debug predictions | Run YOLO11 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
322
322
 
323
323
  ## <div align="center">Ultralytics HUB</div>
324
324
 
@@ -7,10 +7,10 @@ tests/test_exports.py,sha256=fpTKEVBUGLF3WiZPNKRs-IEcIY4cfxgvgKjUNfodjww,8042
7
7
  tests/test_integrations.py,sha256=f5-QCUk1SU_-qn4mBCZwS3GN3tXEBIIXo4z2EhExbHw,6126
8
8
  tests/test_python.py,sha256=I1RRdCwLdrc3jX06huVxct8HX8ccQOmQgVpuEflRl0U,23560
9
9
  tests/test_solutions.py,sha256=sPYhy2d814mIVvojQeVxeZPu0IVy01_Y8zuMcu_9GF0,3790
10
- ultralytics/__init__.py,sha256=sBXjCpn04kFZOFzQS8jnCWjkrkcS0PPNFEmNHT7kRNo,681
10
+ ultralytics/__init__.py,sha256=qf4JhbZAMoae9nuZSVyF_RxYv_myNq4dkkvb8c5PuEo,681
11
11
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
12
12
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
13
- ultralytics/cfg/__init__.py,sha256=Y-T6ya7MYBLsoJ4sv8MRgvT5TMKZs5A6ZOYo7Tw_jcs,31732
13
+ ultralytics/cfg/__init__.py,sha256=hj7JH0TgnF9OlKi4uJBUu-KeQh4PFnSQCTiD_h_u_Sg,32399
14
14
  ultralytics/cfg/default.yaml,sha256=ul49zgSzTegMmc8CFeu9tXkWNvQhETdZMa9EgDNSnY4,8319
15
15
  ultralytics/cfg/datasets/Argoverse.yaml,sha256=FyeuJT5CHq_9d4hlfAf0kpZlnbUMO0S--UJ1yIqcdKk,3134
16
16
  ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=QVfp_Qp-4rukuicaB4qx86NxSHM8Mrzym8l_fIDo8gw,1195
@@ -26,8 +26,8 @@ ultralytics/cfg/datasets/brain-tumor.yaml,sha256=HTQAC83rPLFyLBtdVvhh0A7LBbPrpdV
26
26
  ultralytics/cfg/datasets/carparts-seg.yaml,sha256=8XdKeWH-LSF1CElYsKSuQia8U2Sj8urbA88aTuEyyfE,1239
27
27
  ultralytics/cfg/datasets/coco-pose.yaml,sha256=q8XCTa-BPOp3lCFDgZdWTDRtnkBlS_MOXVskd2EEnKQ,1605
28
28
  ultralytics/cfg/datasets/coco.yaml,sha256=vW-YouGHdcOaTVIUCAyH_LFj02fBii_PJgk3G6sAwLg,2586
29
- ultralytics/cfg/datasets/coco128-seg.yaml,sha256=U7OLAJfK9zrdiL7sVDB-7CpwC2FEucXK2DHJvn_ewh8,1957
30
- ultralytics/cfg/datasets/coco128.yaml,sha256=Xl_dZykUsDPgofy9o-FjEM-dkAf2T2sGZjksABoD7RM,1940
29
+ ultralytics/cfg/datasets/coco128-seg.yaml,sha256=LAXXxPUy_f--VU-9EODsglH-T5sTzAQfYJBS6jvmKK0,1966
30
+ ultralytics/cfg/datasets/coco128.yaml,sha256=azi-Q8JvnQa5KRIFRpt1YDJ8sbZba6nJGZRkEyB-lKk,1949
31
31
  ultralytics/cfg/datasets/coco8-pose.yaml,sha256=h0ZQfHGoeG724n3jTvHkLObnYZfNDlaOZSJLoPAV800,993
32
32
  ultralytics/cfg/datasets/coco8-seg.yaml,sha256=sFMRTJa2ARpqAtr-50SS_RkB4KoczmAamK6C7qIfAd8,1897
33
33
  ultralytics/cfg/datasets/coco8.yaml,sha256=3_lNlMo40Rf52oxOnAIyaf7ZOdV0-z-Gcv-uMWmAE0s,1872
@@ -106,8 +106,8 @@ ultralytics/engine/results.py,sha256=BxanBI8PhBCfs-9cSy-GS6naScuiD3hdvUAJWPW2mS0
106
106
  ultralytics/engine/trainer.py,sha256=6dGOEZvMo3o97SLpKlcR5XmhWhUHh05uLYpj3jNn0jU,36981
107
107
  ultralytics/engine/tuner.py,sha256=WBj8iw1K1TK0hvanlA-wkwmfqh1SI8jEe2dGwUINeTg,11838
108
108
  ultralytics/engine/validator.py,sha256=2C_qXI36Z9rLOpmS0YR8Qe3ka4p23YiH2w5ai7-XBwE,14811
109
- ultralytics/hub/__init__.py,sha256=3SKvZ5aRina3h94xMPQIB3D4maF62qFcyIqPPHRHNAc,5644
110
- ultralytics/hub/auth.py,sha256=kDLakGa2NbzvMAeXc2UdzZ65r0AH-XeM_JfsDY97WGk,5545
109
+ ultralytics/hub/__init__.py,sha256=c6Me4E8V-P7mtzTggyPYz9FnVkqWRyPp9F-fMcyFNQ0,5632
110
+ ultralytics/hub/auth.py,sha256=pj_2NijotQpyG4_VJ6EAzNWGD93L6t-34J60yfiNZPc,5541
111
111
  ultralytics/hub/session.py,sha256=2KznO5kX14HFZ2-Ct9LoG312sdHuigQSLZb58MGvbJY,16411
112
112
  ultralytics/hub/utils.py,sha256=jBfuDJkOc8xCC-pjRFaC-x5GEfcS5Koua2bepHIU3SY,9705
113
113
  ultralytics/hub/google/__init__.py,sha256=uclNs-_5vAzQMgQKgl8eBvml1cx6IZYXRUhrF57v6_k,7504
@@ -170,12 +170,12 @@ ultralytics/models/yolo/world/train.py,sha256=gaDrAmLJpg9qDtmL5evA5HsV2yb4RTRSfk
170
170
  ultralytics/models/yolo/world/train_world.py,sha256=IsnCEVt6DcM9lUskCKmIN-M8MM79xLpwTRqRoAHUnZ4,4857
171
171
  ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
172
172
  ultralytics/nn/autobackend.py,sha256=sFo9vx3y1M3lzaROMvMFfar7EngEn4BF5-_439r_eZA,31798
173
- ultralytics/nn/tasks.py,sha256=vHhPv6kFkSCjYB_OfAmEB6PYwxKVZlyzZvqKULE3utY,48403
173
+ ultralytics/nn/tasks.py,sha256=NWe0cL7A0LpsP3S1Efvi2NutAjWc_rGYMJMwAeb2bAg,48605
174
174
  ultralytics/nn/modules/__init__.py,sha256=xhW2BennT9U_VaMXVpRu-bdLgp1BXt9L8mkIUBE3idU,2625
175
175
  ultralytics/nn/modules/activation.py,sha256=chhn469wnRHEs5BMGNBYXwPYZc_7-urspTT8fnBd-xA,895
176
176
  ultralytics/nn/modules/block.py,sha256=thcIPcnGRRxDDDswywJsfzbewr9XfTrzl_UvSl-bJ3c,41832
177
177
  ultralytics/nn/modules/conv.py,sha256=vOeHZ6Z4sc6-9PrDmRGT1hFkxSBbbWkQm2jRbGGjpqQ,12705
178
- ultralytics/nn/modules/head.py,sha256=WnCpQDBlMDStpEs-m-R0vcKq28OX2FEgTcmHEpRL_pA,26609
178
+ ultralytics/nn/modules/head.py,sha256=l2X8R2ZE7iNi-oMN_sDPTZr3lCZX1LRg-ezfFR1g874,26874
179
179
  ultralytics/nn/modules/transformer.py,sha256=tGiK8NmPfswwW1rbF21r5ILUkkZQ6Nk4s8j16vFBmps,18069
180
180
  ultralytics/nn/modules/utils.py,sha256=a88cKl2wz1nMVSEBiajtvaCbDBQIkESWOKTZ_WAJy90,3195
181
181
  ultralytics/solutions/__init__.py,sha256=6RDeXWO1QSaMgCq8YrWXaj2xvPw2sJwJL_a0dgjCvz0,648
@@ -198,7 +198,7 @@ ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7J
198
198
  ultralytics/trackers/utils/gmc.py,sha256=VcURuY041qGCeWUGMxHZBr10T16LtcMqyv7AmTfE1MY,14557
199
199
  ultralytics/trackers/utils/kalman_filter.py,sha256=cH9zD3fwkuezP97H9mw8cSBN7a8hHKx_Sx1j7t3oYGs,21349
200
200
  ultralytics/trackers/utils/matching.py,sha256=3Ie1WNNRZ4_q3365F03XD7Nr9juZB_08mw4yUKC3w74,7162
201
- ultralytics/utils/__init__.py,sha256=e9TGKFTMU1dGkYVvD22qHxvR76gUiATKWM4eIqT77SI,48689
201
+ ultralytics/utils/__init__.py,sha256=YENakCDRXzHXy3e_MzTd2iCSmNVcGzCUgGhdiNGpaV4,48690
202
202
  ultralytics/utils/autobatch.py,sha256=BO9MCRtrLDtrDQaxqV0BdjaYsgXf-q07Y3_VdGp4URY,4330
203
203
  ultralytics/utils/benchmarks.py,sha256=R3_jtwLd48azPSXmtIhqlzduUvflk0FOY8GJOJ6mB6E,25097
204
204
  ultralytics/utils/checks.py,sha256=jjCIAT6yBQ2v-aRxh3ZmoBIEiVT-iCAvcqarLLNW1os,29756
@@ -227,9 +227,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=IbGQfEltamUKXJt93uSLQFn8c2rYh3DMTg
227
227
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
228
228
  ultralytics/utils/callbacks/tensorboard.py,sha256=SHlE58Fb-sg-uZKtgy-ybIO3SAIfK55aj8kTYGA0Cyg,4167
229
229
  ultralytics/utils/callbacks/wb.py,sha256=upfbF8-LLXueUvulLaMDmKDhKCl_PWbNa_87PQ0L0Rc,6752
230
- ultralytics-8.3.16.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
231
- ultralytics-8.3.16.dist-info/METADATA,sha256=VQg85ooStdWruRUcg44_kQRHY0CWbdC6LvHaq31Y_YY,34799
232
- ultralytics-8.3.16.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
233
- ultralytics-8.3.16.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
234
- ultralytics-8.3.16.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
235
- ultralytics-8.3.16.dist-info/RECORD,,
230
+ ultralytics-8.3.18.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
231
+ ultralytics-8.3.18.dist-info/METADATA,sha256=V0Akt0E2sH-fly-S-Mr1ywhM-L8ufd9n3G5bzTY9UDo,34818
232
+ ultralytics-8.3.18.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
233
+ ultralytics-8.3.18.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
234
+ ultralytics-8.3.18.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
235
+ ultralytics-8.3.18.dist-info/RECORD,,