ultralytics 8.3.85__py3-none-any.whl → 8.3.87__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.
Files changed (42) hide show
  1. tests/test_solutions.py +21 -2
  2. ultralytics/__init__.py +1 -1
  3. ultralytics/cfg/__init__.py +17 -25
  4. ultralytics/cfg/datasets/Argoverse.yaml +15 -13
  5. ultralytics/cfg/datasets/GlobalWheat2020.yaml +24 -10
  6. ultralytics/cfg/datasets/ImageNet.yaml +1 -1
  7. ultralytics/cfg/datasets/Objects365.yaml +21 -21
  8. ultralytics/cfg/datasets/SKU-110K.yaml +11 -11
  9. ultralytics/cfg/datasets/VOC.yaml +34 -28
  10. ultralytics/cfg/datasets/VisDrone.yaml +19 -15
  11. ultralytics/cfg/datasets/coco-pose.yaml +11 -8
  12. ultralytics/cfg/datasets/coco.yaml +11 -8
  13. ultralytics/cfg/datasets/lvis.yaml +12 -8
  14. ultralytics/cfg/datasets/open-images-v7.yaml +25 -20
  15. ultralytics/cfg/datasets/xView.yaml +28 -26
  16. ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +1 -1
  17. ultralytics/cfg/models/11/yolo11-cls.yaml +6 -6
  18. ultralytics/data/annotator.py +1 -1
  19. ultralytics/data/base.py +1 -1
  20. ultralytics/data/converter.py +6 -6
  21. ultralytics/data/loaders.py +1 -1
  22. ultralytics/data/split_dota.py +2 -2
  23. ultralytics/data/utils.py +4 -4
  24. ultralytics/engine/exporter.py +3 -3
  25. ultralytics/engine/results.py +77 -42
  26. ultralytics/engine/trainer.py +12 -6
  27. ultralytics/engine/tuner.py +4 -3
  28. ultralytics/engine/validator.py +1 -1
  29. ultralytics/models/yolo/obb/val.py +2 -2
  30. ultralytics/nn/autobackend.py +3 -2
  31. ultralytics/nn/tasks.py +1 -1
  32. ultralytics/solutions/parking_management.py +19 -4
  33. ultralytics/utils/__init__.py +3 -4
  34. ultralytics/utils/benchmarks.py +5 -5
  35. ultralytics/utils/callbacks/comet.py +37 -5
  36. ultralytics/utils/loss.py +1 -1
  37. {ultralytics-8.3.85.dist-info → ultralytics-8.3.87.dist-info}/METADATA +8 -8
  38. {ultralytics-8.3.85.dist-info → ultralytics-8.3.87.dist-info}/RECORD +42 -42
  39. {ultralytics-8.3.85.dist-info → ultralytics-8.3.87.dist-info}/WHEEL +1 -1
  40. {ultralytics-8.3.85.dist-info → ultralytics-8.3.87.dist-info}/LICENSE +0 -0
  41. {ultralytics-8.3.85.dist-info → ultralytics-8.3.87.dist-info}/entry_points.txt +0 -0
  42. {ultralytics-8.3.85.dist-info → ultralytics-8.3.87.dist-info}/top_level.txt +0 -0
@@ -149,7 +149,7 @@ class OBBValidator(DetectionValidator):
149
149
  classname = self.names[d["category_id"] - 1].replace(" ", "-")
150
150
  p = d["poly"]
151
151
 
152
- with open(f"{pred_txt / f'Task1_{classname}'}.txt", "a") as f:
152
+ with open(f"{pred_txt / f'Task1_{classname}'}.txt", "a", encoding="utf-8") as f:
153
153
  f.writelines(f"{image_id} {score} {p[0]} {p[1]} {p[2]} {p[3]} {p[4]} {p[5]} {p[6]} {p[7]}\n")
154
154
  # Save merged results, this could result slightly lower map than using official merging script,
155
155
  # because of the probiou calculation.
@@ -183,7 +183,7 @@ class OBBValidator(DetectionValidator):
183
183
  p = [round(i, 3) for i in x[:-2]] # poly
184
184
  score = round(x[-2], 3)
185
185
 
186
- with open(f"{pred_merged_txt / f'Task1_{classname}'}.txt", "a") as f:
186
+ with open(f"{pred_merged_txt / f'Task1_{classname}'}.txt", "a", encoding="utf-8") as f:
187
187
  f.writelines(f"{image_id} {score} {p[0]} {p[1]} {p[2]} {p[3]} {p[4]} {p[5]} {p[6]} {p[7]}\n")
188
188
 
189
189
  return stats
@@ -132,7 +132,7 @@ class AutoBackend(nn.Module):
132
132
  fp16 &= pt or jit or onnx or xml or engine or nn_module or triton # FP16
133
133
  nhwc = coreml or saved_model or pb or tflite or edgetpu or rknn # BHWC formats (vs torch BCWH)
134
134
  stride = 32 # default stride
135
- end2end = False # default end2end
135
+ end2end, dynamic = False, False
136
136
  model, metadata, task = None, None, None
137
137
 
138
138
  # Set device
@@ -244,7 +244,7 @@ class AutoBackend(nn.Module):
244
244
  # OpenVINO
245
245
  elif xml:
246
246
  LOGGER.info(f"Loading {w} for OpenVINO inference...")
247
- check_requirements("openvino>=2024.0.0,<2025.0.0")
247
+ check_requirements("openvino>=2024.0.0,!=2025.0.0")
248
248
  import openvino as ov
249
249
 
250
250
  core = ov.Core()
@@ -517,6 +517,7 @@ class AutoBackend(nn.Module):
517
517
  names = metadata["names"]
518
518
  kpt_shape = metadata.get("kpt_shape")
519
519
  end2end = metadata.get("args", {}).get("nms", False)
520
+ dynamic = metadata.get("args", {}).get("dynamic", dynamic)
520
521
  elif not (pt or triton or nn_module):
521
522
  LOGGER.warning(f"WARNING ⚠️ Metadata not found for 'model={weights}'")
522
523
 
ultralytics/nn/tasks.py CHANGED
@@ -1119,7 +1119,7 @@ def guess_model_scale(model_path):
1119
1119
  (str): The size character of the model's scale, which can be n, s, m, l, or x.
1120
1120
  """
1121
1121
  try:
1122
- return re.search(r"yolo[v]?\d+([nslmx])", Path(model_path).stem).group(1) # noqa, returns n, s, m, l, or x
1122
+ return re.search(r"yolo[v]?\d+([nslmx])", Path(model_path).stem).group(1) # returns n, s, m, l, or x
1123
1123
  except AttributeError:
1124
1124
  return ""
1125
1125
 
@@ -7,7 +7,7 @@ import numpy as np
7
7
 
8
8
  from ultralytics.solutions.solutions import BaseSolution
9
9
  from ultralytics.utils import LOGGER
10
- from ultralytics.utils.checks import check_requirements
10
+ from ultralytics.utils.checks import check_imshow
11
11
  from ultralytics.utils.plotting import Annotator
12
12
 
13
13
 
@@ -49,9 +49,24 @@ class ParkingPtsSelection:
49
49
 
50
50
  def __init__(self):
51
51
  """Initializes the ParkingPtsSelection class, setting up UI and properties for parking zone point selection."""
52
- check_requirements("tkinter")
53
- import tkinter as tk
54
- from tkinter import filedialog, messagebox
52
+ try: # check if tkinter installed
53
+ import tkinter as tk
54
+ from tkinter import filedialog, messagebox
55
+ except ImportError: # Display error with recommendations
56
+ import platform
57
+
58
+ install_cmd = {
59
+ "Linux": "sudo apt install python3-tk (Debian/Ubuntu) | sudo dnf install python3-tkinter (Fedora) | "
60
+ "sudo pacman -S tk (Arch)",
61
+ "Windows": "reinstall Python and enable the checkbox `tcl/tk and IDLE` on **Optional Features** during installation",
62
+ "Darwin": "reinstall Python from https://www.python.org/downloads/mac-osx/ or `brew install python-tk`",
63
+ }.get(platform.system(), "Unknown OS. Check your Python installation.")
64
+
65
+ LOGGER.warning(f"WARNING ⚠️ Tkinter is not configured or supported. Potential fix: {install_cmd}")
66
+ return
67
+
68
+ if not check_imshow(warn=True):
69
+ return
55
70
 
56
71
  self.tk, self.filedialog, self.messagebox = tk, filedialog, messagebox
57
72
  self.master = self.tk.Tk() # Reference to the main application window or parent widget
@@ -28,6 +28,7 @@ import tqdm
28
28
  import yaml
29
29
 
30
30
  from ultralytics import __version__
31
+ from ultralytics.utils.patches import imread, imshow, imwrite, torch_load, torch_save # for patches
31
32
 
32
33
  # PyTorch Multi-GPU DDP Constants
33
34
  RANK = int(os.getenv("RANK", -1))
@@ -125,7 +126,7 @@ HELP_MSG = """
125
126
 
126
127
  # Settings and Environment Variables
127
128
  torch.set_printoptions(linewidth=320, precision=4, profile="default")
128
- np.set_printoptions(linewidth=320, formatter={"float_kind": "{:11.5g}".format}) # format short g, %precision=5
129
+ np.set_printoptions(linewidth=320, formatter=dict(float_kind="{:11.5g}".format)) # format short g, %precision=5
129
130
  cv2.setNumThreads(0) # prevent OpenCV from multithreading (incompatible with PyTorch DataLoader)
130
131
  os.environ["NUMEXPR_MAX_THREADS"] = str(NUM_THREADS) # NumExpr max threads
131
132
  os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" # suppress verbose TF compiler warnings in Colab
@@ -1128,7 +1129,7 @@ class JSONDict(dict):
1128
1129
  """Save the current state of the dictionary to the JSON file."""
1129
1130
  try:
1130
1131
  self.file_path.parent.mkdir(parents=True, exist_ok=True)
1131
- with open(self.file_path, "w") as f:
1132
+ with open(self.file_path, "w", encoding="utf-8") as f:
1132
1133
  json.dump(dict(self), f, indent=2, default=self._json_default)
1133
1134
  except Exception as e:
1134
1135
  print(f"Error writing to {self.file_path}: {e}")
@@ -1340,8 +1341,6 @@ TESTS_RUNNING = is_pytest_running() or is_github_action_running()
1340
1341
  set_sentry()
1341
1342
 
1342
1343
  # Apply monkey patches
1343
- from ultralytics.utils.patches import imread, imshow, imwrite, torch_load, torch_save
1344
-
1345
1344
  torch.load = torch_load
1346
1345
  torch.save = torch_save
1347
1346
  if WINDOWS:
@@ -244,7 +244,7 @@ class RF100Benchmark:
244
244
  os.mkdir("ultralytics-benchmarks")
245
245
  safe_download("https://github.com/ultralytics/assets/releases/download/v0.0.0/datasets_links.txt")
246
246
 
247
- with open(ds_link_txt) as file:
247
+ with open(ds_link_txt, encoding="utf-8") as file:
248
248
  for line in file:
249
249
  try:
250
250
  _, url, workspace, project, version = re.split("/+", line.strip())
@@ -271,11 +271,11 @@ class RF100Benchmark:
271
271
  Examples:
272
272
  >>> RF100Benchmark.fix_yaml("path/to/data.yaml")
273
273
  """
274
- with open(path) as file:
274
+ with open(path, encoding="utf-8") as file:
275
275
  yaml_data = yaml.safe_load(file)
276
276
  yaml_data["train"] = "train/images"
277
277
  yaml_data["val"] = "valid/images"
278
- with open(path, "w") as file:
278
+ with open(path, "w", encoding="utf-8") as file:
279
279
  yaml.safe_dump(yaml_data, file)
280
280
 
281
281
  def evaluate(self, yaml_path, val_log_file, eval_log_file, list_ind):
@@ -297,7 +297,7 @@ class RF100Benchmark:
297
297
  >>> benchmark.evaluate("path/to/data.yaml", "path/to/val_log.txt", "path/to/eval_log.txt", 0)
298
298
  """
299
299
  skip_symbols = ["🚀", "⚠️", "💡", "❌"]
300
- with open(yaml_path) as stream:
300
+ with open(yaml_path, encoding="utf-8") as stream:
301
301
  class_names = yaml.safe_load(stream)["names"]
302
302
  with open(val_log_file, encoding="utf-8") as f:
303
303
  lines = f.readlines()
@@ -331,7 +331,7 @@ class RF100Benchmark:
331
331
  print("There's only one dict res")
332
332
  map_val = [res["map50"] for res in eval_lines][0]
333
333
 
334
- with open(eval_log_file, "a") as f:
334
+ with open(eval_log_file, "a", encoding="utf-8") as f:
335
335
  f.write(f"{self.ds_names[list_ind]}: {map_val}\n")
336
336
 
337
337
 
@@ -1,6 +1,10 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
-
2
+ from collections.abc import Callable
3
3
  from types import SimpleNamespace
4
+ from typing import Any, List, Optional
5
+
6
+ import cv2
7
+ import numpy as np
4
8
 
5
9
  from ultralytics.utils import LOGGER, RANK, SETTINGS, TESTS_RUNNING, ops
6
10
  from ultralytics.utils.metrics import ClassifyMetrics, DetMetrics, OBBMetrics, PoseMetrics, SegmentMetrics
@@ -16,7 +20,7 @@ try:
16
20
  from pathlib import Path
17
21
 
18
22
  # Ensures certain logging functions only run for supported tasks
19
- COMET_SUPPORTED_TASKS = ["detect"]
23
+ COMET_SUPPORTED_TASKS = ["detect", "segment"]
20
24
 
21
25
  # Names of plots created by Ultralytics that are logged to Comet
22
26
  CONFUSION_MATRIX_PLOT_NAMES = "confusion_matrix", "confusion_matrix_normalized"
@@ -177,7 +181,7 @@ def _format_ground_truth_annotations_for_detection(img_idx, image_path, batch, c
177
181
  return {"name": "ground_truth", "data": data}
178
182
 
179
183
 
180
- def _format_prediction_annotations_for_detection(image_path, metadata, class_label_map=None, class_map=None):
184
+ def _format_prediction_annotations(image_path, metadata, class_label_map=None, class_map=None):
181
185
  """Format YOLO predictions for object detection visualization."""
182
186
  stem = image_path.stem
183
187
  image_id = int(stem) if stem.isnumeric() else stem
@@ -193,6 +197,12 @@ def _format_prediction_annotations_for_detection(image_path, metadata, class_lab
193
197
  # with prediction's category ID indices (can start from one)
194
198
  label_index_offset = sorted(class_map)[0]
195
199
 
200
+ try:
201
+ # import pycotools utilities to decompress annotations for various tasks, e.g. segmentation
202
+ from pycocotools.mask import decode # noqa
203
+ except ImportError:
204
+ decode = None
205
+
196
206
  data = []
197
207
  for prediction in predictions:
198
208
  boxes = prediction["bbox"]
@@ -201,17 +211,39 @@ def _format_prediction_annotations_for_detection(image_path, metadata, class_lab
201
211
  if class_label_map:
202
212
  cls_label = str(class_label_map[cls_label - label_index_offset])
203
213
 
204
- data.append({"boxes": [boxes], "label": cls_label, "score": score})
214
+ annotation_data = {"boxes": [boxes], "label": cls_label, "score": score}
215
+
216
+ if decode is not None:
217
+ # do segmentation processing only if we are able to decode it
218
+ segments = prediction.get("segmentation", None)
219
+ if segments is not None:
220
+ segments = _extract_segmentation_annotation(segments, decode)
221
+ if segments is not None:
222
+ annotation_data["points"] = segments
223
+
224
+ data.append(annotation_data)
205
225
 
206
226
  return {"name": "prediction", "data": data}
207
227
 
208
228
 
229
+ def _extract_segmentation_annotation(segmentation_raw: str, decode: Callable) -> Optional[List[List[Any]]]:
230
+ """Extracts segmentation annotation from compressed segmentations as list of polygons."""
231
+ try:
232
+ mask = decode(segmentation_raw)
233
+ contours, _ = cv2.findContours(mask, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
234
+ annotations = [np.array(polygon).squeeze() for polygon in contours if len(polygon) >= 3]
235
+ return [annotation.ravel().tolist() for annotation in annotations]
236
+ except Exception as e:
237
+ LOGGER.warning(f"COMET WARNING: Failed to extract segmentation annotation: {e}")
238
+ return None
239
+
240
+
209
241
  def _fetch_annotations(img_idx, image_path, batch, prediction_metadata_map, class_label_map, class_map):
210
242
  """Join the ground truth and prediction annotations if they exist."""
211
243
  ground_truth_annotations = _format_ground_truth_annotations_for_detection(
212
244
  img_idx, image_path, batch, class_label_map
213
245
  )
214
- prediction_annotations = _format_prediction_annotations_for_detection(
246
+ prediction_annotations = _format_prediction_annotations(
215
247
  image_path, prediction_metadata_map, class_label_map, class_map
216
248
  )
217
249
 
ultralytics/utils/loss.py CHANGED
@@ -580,7 +580,7 @@ class v8PoseLoss(v8DetectionLoss):
580
580
  )
581
581
 
582
582
  # Divide coordinates by stride
583
- selected_keypoints /= stride_tensor.view(1, -1, 1, 1)
583
+ selected_keypoints[..., :2] /= stride_tensor.view(1, -1, 1, 1)
584
584
 
585
585
  kpts_loss = 0
586
586
  kpts_obj_loss = 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.85
3
+ Version: 8.3.87
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>
@@ -63,7 +63,7 @@ Provides-Extra: export
63
63
  Requires-Dist: onnx>=1.12.0; extra == "export"
64
64
  Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_version <= "3.11") and extra == "export"
65
65
  Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.11") and extra == "export"
66
- Requires-Dist: openvino<2025.0.0,>=2024.0.0; extra == "export"
66
+ Requires-Dist: openvino!=2025.0.0,>=2024.0.0; extra == "export"
67
67
  Requires-Dist: tensorflow>=2.0.0; extra == "export"
68
68
  Requires-Dist: tensorflowjs>=3.9.0; extra == "export"
69
69
  Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
@@ -248,13 +248,13 @@ See [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) for usage e
248
248
 
249
249
  See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usage examples with these models trained on [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), which include 1000 pretrained classes.
250
250
 
251
- | Model | size<br><sup>(pixels) | acc<br><sup>top1 | acc<br><sup>top5 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) at 640 |
251
+ | Model | size<br><sup>(pixels) | acc<br><sup>top1 | acc<br><sup>top5 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) at 224 |
252
252
  | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ |
253
- | [YOLO11n-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-cls.pt) | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 3.3 |
254
- | [YOLO11s-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-cls.pt) | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 12.1 |
255
- | [YOLO11m-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-cls.pt) | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 39.3 |
256
- | [YOLO11l-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-cls.pt) | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 49.4 |
257
- | [YOLO11x-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-cls.pt) | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 110.4 |
253
+ | [YOLO11n-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-cls.pt) | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 0.5 |
254
+ | [YOLO11s-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s-cls.pt) | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 1.6 |
255
+ | [YOLO11m-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11m-cls.pt) | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 5.0 |
256
+ | [YOLO11l-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11l-cls.pt) | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 6.2 |
257
+ | [YOLO11x-cls](https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x-cls.pt) | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 13.7 |
258
258
 
259
259
  - **acc** values are model accuracies on the [ImageNet](https://www.image-net.org/) dataset validation set. <br>Reproduce by `yolo val classify data=path/to/ImageNet device=0`
260
260
  - **Speed** averaged over ImageNet val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val classify data=path/to/ImageNet batch=1 device=0|cpu`
@@ -6,26 +6,26 @@ tests/test_engine.py,sha256=aGqZ8P7QO5C_nOa1b4FOyk92Ysdk5WiP-ST310Vyxys,4962
6
6
  tests/test_exports.py,sha256=dpUT_FXFXzFoItfZwbxkPFXgEfaVqyfYwkIQW4teL38,9223
7
7
  tests/test_integrations.py,sha256=p3DMnnPMKsV0Qm82JVJUIY1UZ67xRgF9E8AaL76TEHE,6154
8
8
  tests/test_python.py,sha256=tW-EFJC2rjl_DvAa8khXGWYdypseQjrLjGHhe2p9r9A,23238
9
- tests/test_solutions.py,sha256=aY0G3vNzXGCENG9FD76MfUp7jgzeESPsUvbvQYBUvH0,4205
10
- ultralytics/__init__.py,sha256=Nn57pg3nS1RB1HoO-fAtKpD3lZwtYm5ScmuAp01nmbg,709
9
+ tests/test_solutions.py,sha256=eCModsx8xxyMbuW_-7or8VnSEKgZQ3jrjAAqTwDKLDM,5216
10
+ ultralytics/__init__.py,sha256=ULHLXV_sdIQXbMm1Cvr8KnV1Myvi3Wd3Do7FizdhyB8,709
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=DOuAJF23oI7bt2862gA8zFGsh9aBMXVO1pwj0JjpR7E,39793
13
+ ultralytics/cfg/__init__.py,sha256=AsNdyprXnrqdqnaBsUg1pdip-U96lVcjemswrlviwSY,39626
14
14
  ultralytics/cfg/default.yaml,sha256=tHE_VB_tzq5K1BntCCukmFIViwiRv0R-H6ZNucCnYsY,8469
15
- ultralytics/cfg/datasets/Argoverse.yaml,sha256=W225bp0LpIKbn8qrApX4W0jGUJc5tPKQNJjVdkInzJo,3163
15
+ ultralytics/cfg/datasets/Argoverse.yaml,sha256=_xlEDIJ9XkUo0v_iNL7FW079BoSeZtKSuLteKTtGbA8,3275
16
16
  ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
17
17
  ultralytics/cfg/datasets/DOTAv1.yaml,sha256=j_DvXVQzZ4dQmf8I7oPX4v9xO3WZXztxV4Xo9VhUTsM,1194
18
- ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=U5uZ2ggWhcKKv5WDdy2fKZx2QkPK9nyrr4Z9RAnpw3k,2089
19
- ultralytics/cfg/datasets/ImageNet.yaml,sha256=WhW_Z5pqRpzlultO9WtcwH0uaarTRk5ksNqQYykIxys,42536
20
- ultralytics/cfg/datasets/Objects365.yaml,sha256=9w8aSuLPkU7p0r7P4uq6RQCYM0VM3Hi9Ln0I9BDnp14,9352
21
- ultralytics/cfg/datasets/SKU-110K.yaml,sha256=5wrSPWlGXo0D5KIKPoq7TmjzKPOM32v_LxE-JRsWF28,2522
22
- ultralytics/cfg/datasets/VOC.yaml,sha256=4kN3nhd69X1c6-2gTze8HwEANKMnr57Fi6N2_-JpNoE,3686
23
- ultralytics/cfg/datasets/VisDrone.yaml,sha256=No6YIGaeb2ceFNGZXsAyAvrR-Q-3UUel29lgsa_1jEI,3110
18
+ ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=TgPAhAnQAwviZcWRkuVTEww3u9VJ86rBlJvjj58ENu4,2157
19
+ ultralytics/cfg/datasets/ImageNet.yaml,sha256=6F1GXJg80iS8PJTcbAVbZX7Eb25NdJAAZ4UIS8mmrhk,42543
20
+ ultralytics/cfg/datasets/Objects365.yaml,sha256=E0WmOVH22cKpgyWSiuLxmAMd35x2O--kS8VLW-ONoqU,9370
21
+ ultralytics/cfg/datasets/SKU-110K.yaml,sha256=EmYFUdlxmF4SnijaifO3dHaP_uf95Vgz4FdckHeEVEM,2558
22
+ ultralytics/cfg/datasets/VOC.yaml,sha256=xQOx67XQaYCgUjHxp4HjY94zx7ZOphDGlwgzxYfaed0,3800
23
+ ultralytics/cfg/datasets/VisDrone.yaml,sha256=jONp3ws_RL1Iccnp81ho-zVhLUE63QfcvdUJ395h-GY,3263
24
24
  ultralytics/cfg/datasets/african-wildlife.yaml,sha256=pENEc4cO8A-uAk1dLn1Kul9ofDGcUmeGuQARs13Plhg,930
25
25
  ultralytics/cfg/datasets/brain-tumor.yaml,sha256=wDRZVNZ9Z_p2KRMaFpqrFY00riQ-GGfGYk7N4bDkGFw,856
26
26
  ultralytics/cfg/datasets/carparts-seg.yaml,sha256=5fJKD-bLoio9-LUC09bPrt5qEYbCIQ7i5TAZ1VADeL8,1268
27
- ultralytics/cfg/datasets/coco-pose.yaml,sha256=Hu0hWXVsVtRLor-gPW30mB7yc6RkQ3j9BlBGOf9CI94,1642
28
- ultralytics/cfg/datasets/coco.yaml,sha256=mMk1DTtCohG-GCvPPc_Fs_5K8xxRfAscsr1IfwEX1Bs,2615
27
+ ultralytics/cfg/datasets/coco-pose.yaml,sha256=NHdgSsGkHS0-X636p2-hExTJGdoWUSP1TPshH2nVRPk,1636
28
+ ultralytics/cfg/datasets/coco.yaml,sha256=chdzyIHLfekjOcng-G2_bpC57VUcHPjVvW8ENJfiQao,2619
29
29
  ultralytics/cfg/datasets/coco128-seg.yaml,sha256=ifDPbVuuN7N2_3e8e_YBdTVcANYIOKORQMgXlsPS6D4,1995
30
30
  ultralytics/cfg/datasets/coco128.yaml,sha256=udymG6qzF9Bvh_JYC7BOSXOUeA1Ia8ZmR2EzNGsY6YY,1978
31
31
  ultralytics/cfg/datasets/coco8-pose.yaml,sha256=yfw2_SkCZO3ttPLiI0mfjxv5gr4-CA3i0elYP5PY71k,1022
@@ -35,15 +35,15 @@ ultralytics/cfg/datasets/crack-seg.yaml,sha256=QEnxOouOKQ3TM6Cl8pBnX5QLPWdChZEBA
35
35
  ultralytics/cfg/datasets/dog-pose.yaml,sha256=Cr-J7dPhHmNfW9TKH48L22WPYmJFtWH-lbOAxLHnjKU,907
36
36
  ultralytics/cfg/datasets/dota8.yaml,sha256=W43bp_6yUUVjs6vpogNrGI9vU7rLbEsSx6vyfIkDyj8,1073
37
37
  ultralytics/cfg/datasets/hand-keypoints.yaml,sha256=5vue4kvPrAdd6ZyB90rZgtGUUHvSi3s_ht7jBBqX7a4,989
38
- ultralytics/cfg/datasets/lvis.yaml,sha256=b3ViDn8gjUCaQ6YfRwUDhGgwiXstgRDehhd3B6wYii4,29721
38
+ ultralytics/cfg/datasets/lvis.yaml,sha256=jD-z6cny0l_Cl7xN6RqiFAc7a7odcVwr3E8_jmH-wzA,29716
39
39
  ultralytics/cfg/datasets/medical-pills.yaml,sha256=3ho9VW8p5Hm1TuicguiL-akfC9dCZO5nwthO4sUR3k0,848
40
- ultralytics/cfg/datasets/open-images-v7.yaml,sha256=d-JX1SVasyKeXfY_l7x3cjJxaat3xrIJsUf7SvdmFow,12502
40
+ ultralytics/cfg/datasets/open-images-v7.yaml,sha256=ulWjGZG1zEVgOnZaqa3BbrEtsAEFDVEO7AgwL0p6OyU,12417
41
41
  ultralytics/cfg/datasets/package-seg.yaml,sha256=uechtCYfX8OrJrO5zV1-uGwbr69lUSuon1oXguEkLGg,864
42
42
  ultralytics/cfg/datasets/signature.yaml,sha256=eABYny9n4w3RleR3RQmb505DiBll8R5cvcjWj8wkuf0,789
43
43
  ultralytics/cfg/datasets/tiger-pose.yaml,sha256=gCQc1AX04Xfhnms4czm7R_XnT2XFL2u-t3M8Yya20ds,925
44
- ultralytics/cfg/datasets/xView.yaml,sha256=q33mdKXN7B0tt2zeCvoy0BB9B0RVSIM5K94b2-tIkLo,5246
45
- ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=rMwOjwrHuYmZUN9ct_rHAV8bExHDK2U6VeD-U23XdWg,522
46
- ultralytics/cfg/models/11/yolo11-cls.yaml,sha256=jWDUCRPe5UGTphXpi9kQSnJ_wg_Ga_9Gq20KuD_NMaU,1416
44
+ ultralytics/cfg/datasets/xView.yaml,sha256=3PRpBl6q53SUZ09u5efuhaKyeob45EUcxF4nQQqKnUQ,5353
45
+ ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=1Ycp9qMrwpb8rq7cqht3Q-1gMN0R87U35nm2j_isdro,524
46
+ ultralytics/cfg/models/11/yolo11-cls.yaml,sha256=KmI6FDQhGr3o1qvgCoLXwyPAF0VBFOZq2va-BKgWtyE,1414
47
47
  ultralytics/cfg/models/11/yolo11-obb.yaml,sha256=x8XDI2WvbBDre79eslYafBDvu6AmdGbOzTfnq5UhmVM,2034
48
48
  ultralytics/cfg/models/11/yolo11-pose.yaml,sha256=RUe-8rIrrYWItv0GMo_VaO9JfrK2NJSXfbhv0NOq9dk,2128
49
49
  ultralytics/cfg/models/11/yolo11-seg.yaml,sha256=ozw5daUucWFCnJNVApK8TIijSe2qAlFmq_VoPyVu9Oo,2045
@@ -97,23 +97,23 @@ ultralytics/cfg/solutions/default.yaml,sha256=c-9thwI7y7VmIoIM6AW70Z0r825SToH2h7
97
97
  ultralytics/cfg/trackers/botsort.yaml,sha256=D9doE5GQUe6HrAFzr7OfQFIGPFk0M_vJ0B_n7VjxH6Q,1080
98
98
  ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
99
99
  ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
100
- ultralytics/data/annotator.py,sha256=whx_3sdKGRsECYLKyJMNGQ-d9g-f8020O6kvl5M1c_I,3067
100
+ ultralytics/data/annotator.py,sha256=88Qf4CPhmmKJi99VQiKNrLQMP4kPAX799_iftScfh2g,3085
101
101
  ultralytics/data/augment.py,sha256=scrCrF_NUdB8gfxEqdVDTiSwkKR8FYN6bWZL_BXMKGU,120957
102
- ultralytics/data/base.py,sha256=NTNdn-Emgx3Z2vats8i8oEe-9yosPmHd53v1A0xz0EU,15196
102
+ ultralytics/data/base.py,sha256=JBmVrbrbvk0ImFVCMj3mDQ1GPY0PHak0LEFfw79iIX0,15214
103
103
  ultralytics/data/build.py,sha256=gOU5SNABBNxwo5012N--WhjEnLK2ewycXIryMpbHg6U,7685
104
- ultralytics/data/converter.py,sha256=M7LvBpdYiDA_YEuef3oCXhGPFTjtyJjSbSwqn-F6d7I,24473
104
+ ultralytics/data/converter.py,sha256=tKPTtleDkDfPO0XbisQfa7SBwyTL4Sx19k2sZDWu3S4,24552
105
105
  ultralytics/data/dataset.py,sha256=lxtH3JytNu6nsiPAIhe0uGuGGpkZ4ZRqvXM6eJw9rXU,23244
106
- ultralytics/data/loaders.py,sha256=JOwXbz-dxgG2bx0_cQHp-olz5FleoCX8EzrUvZ77vvg,28534
107
- ultralytics/data/split_dota.py,sha256=YI-i2MqdiBt06W67TJnBXQHJrqTnkJDJ3zzoL0UZVro,10733
108
- ultralytics/data/utils.py,sha256=GgsexyPYoyAz-felAuMEfI-C-aeU2jy9VlzbmVdlAQw,33839
106
+ ultralytics/data/loaders.py,sha256=YDaljB8u4bIwcU3eXRggsDlE78Jjpq_PeqZzOKQ_9qQ,28555
107
+ ultralytics/data/split_dota.py,sha256=c9fQWCVSKjlxCcktwSsCT6Ql-Md2qxnsEn4jAm02Yd0,10769
108
+ ultralytics/data/utils.py,sha256=AwFfSYAyjMmZ3mscwGTC99Sb4tzqSFxX23Fp1_lRHpc,33911
109
109
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
110
- ultralytics/engine/exporter.py,sha256=Fq-EjcqdirQC5sQjBBfQWD8e5aZghfG1aM_dinifgJw,77434
110
+ ultralytics/engine/exporter.py,sha256=JzczKGKr77IWet-DOCOhuduvTIErE75kqoJ66DMn_28,77471
111
111
  ultralytics/engine/model.py,sha256=s8HsSBvdRgSbnKGULr7YW-ZWJKJsQpOoHd9Aih_nMt0,53427
112
112
  ultralytics/engine/predictor.py,sha256=jiYDAjupOlRUpPvw9tu7or9PjXtLm-YCRiawANtWxj0,17881
113
- ultralytics/engine/results.py,sha256=hWlO2e58BPUJ5R4Jl4iirBPaZ8BypcNu_cNQ2NHpUqM,78111
114
- ultralytics/engine/trainer.py,sha256=pV8sztWxFH5rMNYW0wXHlk-YrVZsEUYAKFvfcA22PnY,37600
115
- ultralytics/engine/tuner.py,sha256=EUlTs7KJQ2RVABm8pihr_14M_Z2kGSzJaWH-Y9TJYDw,11976
116
- ultralytics/engine/validator.py,sha256=r27X8HGeDEwq7V5sFjEQH_3EnP1CyG-HcOLpFABUisU,15034
113
+ ultralytics/engine/results.py,sha256=NdnBvWCNDyfOPe7XwSWqhBppV2GmXEMH9LBbkeJ4Vjc,79620
114
+ ultralytics/engine/trainer.py,sha256=9T5Oo4H0nQCN62mxQClxScv_jlhb02Kre5tDMW7ZtTo,38005
115
+ ultralytics/engine/tuner.py,sha256=irydonYsAsW_hzK3JwSkiGOH51Uwcc9z-MqRhQrUTas,12092
116
+ ultralytics/engine/validator.py,sha256=_rND1qfLC9u3CNS2211i6vZJ7WNv0HYRITALPY-3KCc,15052
117
117
  ultralytics/hub/__init__.py,sha256=1ifzSYV0PIT4ZWOm2V7HnpGyY3G3hCz0malw3AXHFlY,5660
118
118
  ultralytics/hub/auth.py,sha256=akS7QMg93L_cBjDGOc0Jns5-m3ao_VzBCcyKLb4f0sI,5569
119
119
  ultralytics/hub/session.py,sha256=us_8fZkBa2XyTGNyIjWiSSesJwMRXQv9P0sf12gh30U,16439
@@ -164,7 +164,7 @@ ultralytics/models/yolo/detect/val.py,sha256=jGfdp5cLibuE1-WJAHL1Gjw7BeLfDBDShkJ
164
164
  ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
165
165
  ultralytics/models/yolo/obb/predict.py,sha256=SUgLzsxg1O77KxIeCj9IlSiqB9SfIwcoRtNZViqPS2E,1880
166
166
  ultralytics/models/yolo/obb/train.py,sha256=7LJ04dYENfjdt1Jet0Cxh0nyIpmgIUtmz425ZEuZSn8,1550
167
- ultralytics/models/yolo/obb/val.py,sha256=8zCTDx56dsJe3_2KNcZmLCP4rYpJVih_8gf2QqF-tGo,8901
167
+ ultralytics/models/yolo/obb/val.py,sha256=Tq5OCFHAsDWkUJP1DXMOfYJgwP0uGpalg-1JLk-OwNM,8937
168
168
  ultralytics/models/yolo/pose/__init__.py,sha256=63xmuHZLNzV8I76HhVXAq4f2W0KTk8Oi9eL-Y204LyQ,227
169
169
  ultralytics/models/yolo/pose/predict.py,sha256=O-LI_acPh_xoXd7ZcxpxAUbIzfj5FkrwEXLuN16Rl7c,2120
170
170
  ultralytics/models/yolo/pose/train.py,sha256=472BgOjvDdNXe9GN68zO1ddRh5Cbmfg5m9_JZyHrTxY,2954
@@ -177,8 +177,8 @@ ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn
177
177
  ultralytics/models/yolo/world/train.py,sha256=6PVmQ0G-22OOPPwP_rqSobe2LM6e2b_lC7lJCdW3UIk,3714
178
178
  ultralytics/models/yolo/world/train_world.py,sha256=sCtg4Hnq9Y7amYjlQsdvTHXH8cKSooipvcXu_1Iyb2k,4885
179
179
  ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
180
- ultralytics/nn/autobackend.py,sha256=WyvIsfba4eN4tAtvuuy089-UDLpsvXfO4fTBdPnUPP8,37379
181
- ultralytics/nn/tasks.py,sha256=rKyTShwk1RtWBnbHObcSamxXoCUiwzl0K5QFYaw56Hw,49030
180
+ ultralytics/nn/autobackend.py,sha256=aoM2n7FtWDqVqE-13kUlqJK7E4KRkD4eXh-hMGSs4i0,37448
181
+ ultralytics/nn/tasks.py,sha256=501y_Cmb3qkHJqMCq9THxTrulgtbkkLKX-_-UbCKzsg,49024
182
182
  ultralytics/nn/modules/__init__.py,sha256=pVV5SSu6ktOusdVFr1kHK_WOkVLjCLO2W5XaLH-NF8w,2737
183
183
  ultralytics/nn/modules/activation.py,sha256=oRkhMdqlNpIxQb35pTSUeHV-h0VyLl96GOqvIZ4OvT8,923
184
184
  ultralytics/nn/modules/block.py,sha256=z0F0YD07C31VyMdYCeT5KoTgTpazIYW34xH7xgy02J4,52166
@@ -192,7 +192,7 @@ ultralytics/solutions/analytics.py,sha256=gIte8AnesGQ4YRGfQ05q0DF7q0wlFvFT7JC06D
192
192
  ultralytics/solutions/distance_calculation.py,sha256=o20C78DNV5PbIKwM_TR5jMx8FyEUioBDcQ_1VnxJFzc,5562
193
193
  ultralytics/solutions/heatmap.py,sha256=euiM7VbkblyFYFLM2oygamI-lIZvKQ-iQURhSE2MJl0,5331
194
194
  ultralytics/solutions/object_counter.py,sha256=OL8gx5cQvEfCWwTPM0Nbk0YS42v7ySBWVU5WTFTLq1g,9641
195
- ultralytics/solutions/parking_management.py,sha256=EqUKjL5xZAALOH3QYqHZJbauOnDxnkB34P37Og1dV_E,11961
195
+ ultralytics/solutions/parking_management.py,sha256=lywEbVAzu_P_Hhv-yrbD7DYaYfVAZjlUveknjDxPFjg,12788
196
196
  ultralytics/solutions/queue_management.py,sha256=Jl9cq9aTmUPGxn-uT6DNRSsVGB8y4yU3C2VDynAPlMU,4959
197
197
  ultralytics/solutions/region_counter.py,sha256=oc3iVn-oWfVvpqUD8zCZexibTjgwMSyutduk8JMaWpI,5245
198
198
  ultralytics/solutions/security_alarm.py,sha256=OqFgoYZZImBBvUXInYNijiCpPaKbvZr8lAljwM7KsuU,5695
@@ -209,16 +209,16 @@ ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6D
209
209
  ultralytics/trackers/utils/gmc.py,sha256=kU54RozuGJcAVlyb5_HjXiNIUIX5VuH613AMc6Gdnwg,14597
210
210
  ultralytics/trackers/utils/kalman_filter.py,sha256=OBvemZXptgn9v1sgBLvFomCqOWwjIB3-8wBbc8nakHo,21377
211
211
  ultralytics/trackers/utils/matching.py,sha256=64PKHGoETwXhuZ9udE217hbjJHygLOPaYA66J2qMSno,7130
212
- ultralytics/utils/__init__.py,sha256=7_Kh3l2IBHLE_cM1BXPHgjasa-sRIpqnf_eicQw2RTk,49908
212
+ ultralytics/utils/__init__.py,sha256=p3-iu1q2mzeKGjb4S2aSx3QmSgv6cDT3rEf1RvHEwZM,49941
213
213
  ultralytics/utils/autobatch.py,sha256=zc81HlAMArPASEbExty0E_zpITF8PVwin7w-xBFFZ5w,5048
214
- ultralytics/utils/benchmarks.py,sha256=enf8emMQ7OcZa6RokvwrNm4ZfW-XS7SBKp57staqGRM,26751
214
+ ultralytics/utils/benchmarks.py,sha256=1ezgIDAyCZ4o3p963BEhc7zs23Hql_KwoEndI0OTr3Q,26841
215
215
  ultralytics/utils/checks.py,sha256=WIQPdWtD2NhdKgrHTnqun6FDr73l4ejp0nsLtya_iOs,31038
216
216
  ultralytics/utils/dist.py,sha256=fuiJQEnyyL-SighlI3hUlZPaaSreUl4Q39snF6OhQtI,2386
217
217
  ultralytics/utils/downloads.py,sha256=5B1uwRr6Urb5ShZAAni5_tq9a-3o0fSAH3xNCULktFY,22100
218
218
  ultralytics/utils/errors.py,sha256=sXKDEd8ws3L-yIfG_-P_h86axbm37sJNha7kFBJbQMQ,844
219
219
  ultralytics/utils/files.py,sha256=c85NRofjGPMcpkV-yUo1Cwk8ZVquBGCEKlzbSVtXkQA,8252
220
220
  ultralytics/utils/instance.py,sha256=z1oyyvz7wnCSUW_bvi0TbgAL0VxJtAWWXV9KWCoyJ_k,16887
221
- ultralytics/utils/loss.py,sha256=paRY8K7R4pcUGJfApVzZx-m_iFzzMbHm5GgiaixfDuU,34179
221
+ ultralytics/utils/loss.py,sha256=rL_jUOxcxL7kPTJKVLQsgwsJybnPbtDAE8FzftcOAHs,34188
222
222
  ultralytics/utils/metrics.py,sha256=6VfTtPzPppuX2RfXr84GoI_ABPfHPhXbbMKkH2HvUVc,53672
223
223
  ultralytics/utils/ops.py,sha256=e7HNeufSrOnaHaie8w-QHNnyaClcHuiGZvr3CXRABsU,34621
224
224
  ultralytics/utils/patches.py,sha256=ARR89dP4YKq7Dd3g2eU-ukbnc2lo3BELukL_1c_d854,3298
@@ -230,7 +230,7 @@ ultralytics/utils/tuner.py,sha256=gySDBzTlq_klTOq6CGEyUN58HXzPCulObaMBHacXzHo,62
230
230
  ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
231
231
  ultralytics/utils/callbacks/base.py,sha256=nbeSPjPCOb0M6FsFQ5-uFxXVzUYwmFyE4wFoA66Jpug,5803
232
232
  ultralytics/utils/callbacks/clearml.py,sha256=JH70T1OLPd9GSvC6HnaKkZHTr8fyE9RRcz3ukL62QPw,5961
233
- ultralytics/utils/callbacks/comet.py,sha256=2fO79Lvl3DqJmM6zX5COU1Xt3IN_GTkzrDQWr9a80Ag,16005
233
+ ultralytics/utils/callbacks/comet.py,sha256=P9U9yja9BXeMwBV76OP-6_VoQixgkOO_9bnyXTSOTY4,17366
234
234
  ultralytics/utils/callbacks/dvc.py,sha256=4ln4wqU3ZZTK5JfvUmbKfQuIdO6QohDSnFVV4v5Pl8E,5073
235
235
  ultralytics/utils/callbacks/hub.py,sha256=bqU83kBnNZ0U9qjm0I9xvM4DWA0VMxSLxQDgjuTZbKM,3977
236
236
  ultralytics/utils/callbacks/mlflow.py,sha256=3y4xOPLZe1bES0ETWGJYywulTEUGv8I849e2TNms8yI,5420
@@ -238,9 +238,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=waZ_bRu0-qBKujTLuqonC2gx2DkgBuVnfq
238
238
  ultralytics/utils/callbacks/raytune.py,sha256=A_NVWjyPNf2m6iB-mbW7SMpyqM9QBvpbPa-MCMFMtdk,727
239
239
  ultralytics/utils/callbacks/tensorboard.py,sha256=JHOEVlNQ5dYJPd4Z-EvqbXowuK5uA0p8wPgyyaIUQs0,4194
240
240
  ultralytics/utils/callbacks/wb.py,sha256=ayhT2y62AcSOacnawshATU0rWrlSFQ77mrGgBdRl3W4,7086
241
- ultralytics-8.3.85.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
242
- ultralytics-8.3.85.dist-info/METADATA,sha256=gyMTKu9VuOAiXtQ_P3X632V0COS8lZRxnWlSvR3q1ps,35168
243
- ultralytics-8.3.85.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
244
- ultralytics-8.3.85.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
245
- ultralytics-8.3.85.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
246
- ultralytics-8.3.85.dist-info/RECORD,,
241
+ ultralytics-8.3.87.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
242
+ ultralytics-8.3.87.dist-info/METADATA,sha256=llD7ywfVWn6K8vDAm587x9M_43IZ9qKZWNQS-qiLHUU,35169
243
+ ultralytics-8.3.87.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
244
+ ultralytics-8.3.87.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
245
+ ultralytics-8.3.87.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
246
+ ultralytics-8.3.87.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5