ultralytics 8.1.42__py3-none-any.whl → 8.1.44__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 (58) hide show
  1. ultralytics/__init__.py +3 -2
  2. ultralytics/cfg/models/v9/yolov9c-seg.yaml +1 -1
  3. ultralytics/cfg/models/v9/yolov9c.yaml +1 -1
  4. ultralytics/cfg/models/v9/yolov9e-seg.yaml +2 -3
  5. ultralytics/cfg/models/v9/yolov9e.yaml +2 -3
  6. ultralytics/data/__init__.py +3 -8
  7. ultralytics/data/augment.py +14 -11
  8. ultralytics/data/base.py +1 -1
  9. ultralytics/data/build.py +1 -1
  10. ultralytics/data/converter.py +4 -3
  11. ultralytics/data/dataset.py +149 -144
  12. ultralytics/data/explorer/explorer.py +10 -11
  13. ultralytics/data/explorer/gui/dash.py +3 -3
  14. ultralytics/data/explorer/utils.py +3 -2
  15. ultralytics/data/loaders.py +3 -3
  16. ultralytics/data/utils.py +1 -1
  17. ultralytics/engine/exporter.py +3 -2
  18. ultralytics/engine/model.py +2 -1
  19. ultralytics/engine/trainer.py +2 -1
  20. ultralytics/hub/auth.py +3 -3
  21. ultralytics/hub/session.py +3 -3
  22. ultralytics/hub/utils.py +6 -6
  23. ultralytics/models/fastsam/prompt.py +4 -1
  24. ultralytics/models/rtdetr/val.py +1 -1
  25. ultralytics/models/sam/modules/tiny_encoder.py +2 -2
  26. ultralytics/models/sam/modules/transformer.py +1 -1
  27. ultralytics/models/sam/predict.py +16 -13
  28. ultralytics/models/yolo/classify/train.py +2 -1
  29. ultralytics/models/yolo/detect/val.py +1 -1
  30. ultralytics/models/yolo/model.py +1 -1
  31. ultralytics/models/yolo/obb/val.py +1 -1
  32. ultralytics/models/yolo/world/train_world.py +2 -2
  33. ultralytics/nn/modules/__init__.py +8 -8
  34. ultralytics/nn/modules/head.py +1 -1
  35. ultralytics/nn/tasks.py +7 -7
  36. ultralytics/solutions/heatmap.py +14 -27
  37. ultralytics/solutions/object_counter.py +12 -22
  38. ultralytics/trackers/byte_tracker.py +1 -1
  39. ultralytics/trackers/utils/kalman_filter.py +4 -4
  40. ultralytics/trackers/utils/matching.py +1 -1
  41. ultralytics/utils/__init__.py +56 -41
  42. ultralytics/utils/benchmarks.py +1 -2
  43. ultralytics/utils/callbacks/clearml.py +4 -3
  44. ultralytics/utils/callbacks/hub.py +1 -4
  45. ultralytics/utils/callbacks/mlflow.py +1 -1
  46. ultralytics/utils/callbacks/tensorboard.py +1 -0
  47. ultralytics/utils/callbacks/wb.py +5 -5
  48. ultralytics/utils/checks.py +17 -20
  49. ultralytics/utils/metrics.py +3 -3
  50. ultralytics/utils/ops.py +1 -1
  51. ultralytics/utils/plotting.py +67 -40
  52. ultralytics/utils/torch_utils.py +13 -6
  53. {ultralytics-8.1.42.dist-info → ultralytics-8.1.44.dist-info}/METADATA +1 -1
  54. {ultralytics-8.1.42.dist-info → ultralytics-8.1.44.dist-info}/RECORD +58 -58
  55. {ultralytics-8.1.42.dist-info → ultralytics-8.1.44.dist-info}/LICENSE +0 -0
  56. {ultralytics-8.1.42.dist-info → ultralytics-8.1.44.dist-info}/WHEEL +0 -0
  57. {ultralytics-8.1.42.dist-info → ultralytics-8.1.44.dist-info}/entry_points.txt +0 -0
  58. {ultralytics-8.1.42.dist-info → ultralytics-8.1.44.dist-info}/top_level.txt +0 -0
@@ -339,6 +339,21 @@ class Annotator:
339
339
  """Save the annotated image to 'filename'."""
340
340
  cv2.imwrite(filename, np.asarray(self.im))
341
341
 
342
+ def get_bbox_dimension(self, bbox=None):
343
+ """
344
+ Calculate the area of a bounding box.
345
+
346
+ Args:
347
+ bbox (tuple): Bounding box coordinates in the format (x_min, y_min, x_max, y_max).
348
+
349
+ Returns:
350
+ angle (degree): Degree value of angle between three points
351
+ """
352
+ x_min, y_min, x_max, y_max = bbox
353
+ width = x_max - x_min
354
+ height = y_max - y_min
355
+ return width, height, width * height
356
+
342
357
  def draw_region(self, reg_pts=None, color=(0, 255, 0), thickness=5):
343
358
  """
344
359
  Draw region line.
@@ -364,13 +379,22 @@ class Annotator:
364
379
  cv2.circle(self.im, (int(track[-1][0]), int(track[-1][1])), track_thickness * 2, color, -1)
365
380
 
366
381
  def queue_counts_display(self, label, points=None, region_color=(255, 255, 255), txt_color=(0, 0, 0), fontsize=0.7):
367
- """Displays queue counts on an image centered at the points with customizable font size and colors."""
382
+ """
383
+ Displays queue counts on an image centered at the points with customizable font size and colors.
384
+
385
+ Args:
386
+ label (str): queue counts label
387
+ points (tuple): region points for center point calculation to display text
388
+ region_color (RGB): queue region color
389
+ txt_color (RGB): text display color
390
+ fontsize (float): text fontsize
391
+ """
368
392
  x_values = [point[0] for point in points]
369
393
  y_values = [point[1] for point in points]
370
394
  center_x = sum(x_values) // len(points)
371
395
  center_y = sum(y_values) // len(points)
372
396
 
373
- text_size = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, fontScale=fontsize, thickness=self.tf)[0]
397
+ text_size = cv2.getTextSize(label, 0, fontScale=fontsize, thickness=self.tf)[0]
374
398
  text_width = text_size[0]
375
399
  text_height = text_size[1]
376
400
 
@@ -388,56 +412,63 @@ class Annotator:
388
412
  self.im,
389
413
  label,
390
414
  (text_x, text_y),
391
- cv2.FONT_HERSHEY_SIMPLEX,
415
+ 0,
392
416
  fontScale=fontsize,
393
417
  color=txt_color,
394
418
  thickness=self.tf,
395
419
  lineType=cv2.LINE_AA,
396
420
  )
397
421
 
398
- def display_counts(
399
- self, counts=None, tf=2, fontScale=0.6, line_color=(0, 0, 0), txt_color=(255, 255, 255), classwise_txtgap=55
400
- ):
422
+ def display_counts(self, counts=None, count_bg_color=(0, 0, 0), count_txt_color=(255, 255, 255)):
401
423
  """
402
- Display counts on im0.
424
+ Display counts on im0 with text background and border.
403
425
 
404
426
  Args:
405
427
  counts (str): objects count data
406
- tf (int): text thickness for display
407
- fontScale (float): text fontsize for display
408
- line_color (RGB Color): counts highlighter color
409
- txt_color (RGB Color): counts display color
410
- classwise_txtgap (int): Gap between each class count data
428
+ count_bg_color (RGB Color): counts highlighter color
429
+ count_txt_color (RGB Color): counts display color
411
430
  """
412
431
 
413
- tl = tf or round(0.002 * (self.im.shape[0] + self.im.shape[1]) / 2) + 1
432
+ tl = self.tf or round(0.002 * (self.im.shape[0] + self.im.shape[1]) / 2) + 1
414
433
  tf = max(tl - 1, 1)
415
434
 
416
- t_sizes = [cv2.getTextSize(str(count), 0, fontScale=0.8, thickness=tf)[0] for count in counts]
435
+ t_sizes = [cv2.getTextSize(str(count), 0, fontScale=self.sf, thickness=self.tf)[0] for count in counts]
417
436
 
418
437
  max_text_width = max([size[0] for size in t_sizes])
419
438
  max_text_height = max([size[1] for size in t_sizes])
420
439
 
421
- text_x = self.im.shape[1] - max_text_width - 20
422
- text_y = classwise_txtgap
440
+ text_x = self.im.shape[1] - int(self.im.shape[1] * 0.025 + max_text_width)
441
+ text_y = int(self.im.shape[0] * 0.025)
442
+
443
+ # Calculate dynamic gap between each count value based on the width of the image
444
+ dynamic_gap = max(1, self.im.shape[1] // 100) * tf
423
445
 
424
446
  for i, count in enumerate(counts):
425
447
  text_x_pos = text_x
426
- text_y_pos = text_y + i * classwise_txtgap
448
+ text_y_pos = text_y + i * dynamic_gap # Adjust vertical position with dynamic gap
427
449
 
450
+ # Draw the border
451
+ cv2.rectangle(
452
+ self.im,
453
+ (text_x_pos - (10 * tf), text_y_pos - (10 * tf)),
454
+ (text_x_pos + max_text_width + (10 * tf), text_y_pos + max_text_height + (10 * tf)),
455
+ count_bg_color,
456
+ -1,
457
+ )
458
+
459
+ # Draw the count text
428
460
  cv2.putText(
429
461
  self.im,
430
462
  str(count),
431
- (text_x_pos, text_y_pos),
432
- cv2.FONT_HERSHEY_SIMPLEX,
433
- fontScale=fontScale,
434
- color=txt_color,
435
- thickness=tf,
463
+ (text_x_pos, text_y_pos + max_text_height),
464
+ 0,
465
+ fontScale=self.sf,
466
+ color=count_txt_color,
467
+ thickness=self.tf,
436
468
  lineType=cv2.LINE_AA,
437
469
  )
438
470
 
439
- line_y_pos = text_y_pos + max_text_height + 5
440
- cv2.line(self.im, (text_x_pos, line_y_pos), (text_x_pos + max_text_width, line_y_pos), line_color, tf)
471
+ text_y_pos += tf * max_text_height
441
472
 
442
473
  @staticmethod
443
474
  def estimate_pose_angle(a, b, c):
@@ -588,30 +619,26 @@ class Annotator:
588
619
  line_color (RGB): Distance line color.
589
620
  centroid_color (RGB): Bounding box centroid color.
590
621
  """
591
- (text_width_m, text_height_m), _ = cv2.getTextSize(
592
- f"Distance M: {distance_m:.2f}m", cv2.FONT_HERSHEY_SIMPLEX, 0.8, 2
593
- )
622
+ (text_width_m, text_height_m), _ = cv2.getTextSize(f"Distance M: {distance_m:.2f}m", 0, 0.8, 2)
594
623
  cv2.rectangle(self.im, (15, 25), (15 + text_width_m + 10, 25 + text_height_m + 20), (255, 255, 255), -1)
595
624
  cv2.putText(
596
625
  self.im,
597
626
  f"Distance M: {distance_m:.2f}m",
598
627
  (20, 50),
599
- cv2.FONT_HERSHEY_SIMPLEX,
628
+ 0,
600
629
  0.8,
601
630
  (0, 0, 0),
602
631
  2,
603
632
  cv2.LINE_AA,
604
633
  )
605
634
 
606
- (text_width_mm, text_height_mm), _ = cv2.getTextSize(
607
- f"Distance MM: {distance_mm:.2f}mm", cv2.FONT_HERSHEY_SIMPLEX, 0.8, 2
608
- )
635
+ (text_width_mm, text_height_mm), _ = cv2.getTextSize(f"Distance MM: {distance_mm:.2f}mm", 0, 0.8, 2)
609
636
  cv2.rectangle(self.im, (15, 75), (15 + text_width_mm + 10, 75 + text_height_mm + 20), (255, 255, 255), -1)
610
637
  cv2.putText(
611
638
  self.im,
612
639
  f"Distance MM: {distance_mm:.2f}mm",
613
640
  (20, 100),
614
- cv2.FONT_HERSHEY_SIMPLEX,
641
+ 0,
615
642
  0.8,
616
643
  (0, 0, 0),
617
644
  2,
@@ -644,8 +671,8 @@ class Annotator:
644
671
  @plt_settings()
645
672
  def plot_labels(boxes, cls, names=(), save_dir=Path(""), on_plot=None):
646
673
  """Plot training labels including class histograms and box statistics."""
647
- import pandas as pd
648
- import seaborn as sn
674
+ import pandas # scope for faster 'import ultralytics'
675
+ import seaborn # scope for faster 'import ultralytics'
649
676
 
650
677
  # Filter matplotlib>=3.7.2 warning and Seaborn use_inf and is_categorical FutureWarnings
651
678
  warnings.filterwarnings("ignore", category=UserWarning, message="The figure layout has changed to tight")
@@ -655,10 +682,10 @@ def plot_labels(boxes, cls, names=(), save_dir=Path(""), on_plot=None):
655
682
  LOGGER.info(f"Plotting labels to {save_dir / 'labels.jpg'}... ")
656
683
  nc = int(cls.max() + 1) # number of classes
657
684
  boxes = boxes[:1000000] # limit to 1M boxes
658
- x = pd.DataFrame(boxes, columns=["x", "y", "width", "height"])
685
+ x = pandas.DataFrame(boxes, columns=["x", "y", "width", "height"])
659
686
 
660
687
  # Seaborn correlogram
661
- sn.pairplot(x, corner=True, diag_kind="auto", kind="hist", diag_kws=dict(bins=50), plot_kws=dict(pmax=0.9))
688
+ seaborn.pairplot(x, corner=True, diag_kind="auto", kind="hist", diag_kws=dict(bins=50), plot_kws=dict(pmax=0.9))
662
689
  plt.savefig(save_dir / "labels_correlogram.jpg", dpi=200)
663
690
  plt.close()
664
691
 
@@ -673,8 +700,8 @@ def plot_labels(boxes, cls, names=(), save_dir=Path(""), on_plot=None):
673
700
  ax[0].set_xticklabels(list(names.values()), rotation=90, fontsize=10)
674
701
  else:
675
702
  ax[0].set_xlabel("classes")
676
- sn.histplot(x, x="x", y="y", ax=ax[2], bins=50, pmax=0.9)
677
- sn.histplot(x, x="width", y="height", ax=ax[3], bins=50, pmax=0.9)
703
+ seaborn.histplot(x, x="x", y="y", ax=ax[2], bins=50, pmax=0.9)
704
+ seaborn.histplot(x, x="width", y="height", ax=ax[3], bins=50, pmax=0.9)
678
705
 
679
706
  # Rectangles
680
707
  boxes[:, 0:2] = 0.5 # center
@@ -906,7 +933,7 @@ def plot_results(file="path/to/results.csv", dir="", segment=False, pose=False,
906
933
  plot_results('path/to/results.csv', segment=True)
907
934
  ```
908
935
  """
909
- import pandas as pd
936
+ import pandas as pd # scope for faster 'import ultralytics'
910
937
  from scipy.ndimage import gaussian_filter1d
911
938
 
912
939
  save_dir = Path(file).parent if file else Path(dir)
@@ -992,7 +1019,7 @@ def plot_tune_results(csv_file="tune_results.csv"):
992
1019
  >>> plot_tune_results('path/to/tune_results.csv')
993
1020
  """
994
1021
 
995
- import pandas as pd
1022
+ import pandas as pd # scope for faster 'import ultralytics'
996
1023
  from scipy.ndimage import gaussian_filter1d
997
1024
 
998
1025
  # Scatter plots for each hyperparameter
@@ -14,10 +14,17 @@ import torch
14
14
  import torch.distributed as dist
15
15
  import torch.nn as nn
16
16
  import torch.nn.functional as F
17
- import torchvision
18
17
 
19
- from ultralytics.utils import DEFAULT_CFG_DICT, DEFAULT_CFG_KEYS, LOGGER, colorstr, __version__
20
- from ultralytics.utils.checks import PYTHON_VERSION, check_version
18
+ from ultralytics.utils import (
19
+ DEFAULT_CFG_DICT,
20
+ DEFAULT_CFG_KEYS,
21
+ LOGGER,
22
+ PYTHON_VERSION,
23
+ TORCHVISION_VERSION,
24
+ __version__,
25
+ colorstr,
26
+ )
27
+ from ultralytics.utils.checks import check_version
21
28
 
22
29
  try:
23
30
  import thop
@@ -28,9 +35,9 @@ except ImportError:
28
35
  TORCH_1_9 = check_version(torch.__version__, "1.9.0")
29
36
  TORCH_1_13 = check_version(torch.__version__, "1.13.0")
30
37
  TORCH_2_0 = check_version(torch.__version__, "2.0.0")
31
- TORCHVISION_0_10 = check_version(torchvision.__version__, "0.10.0")
32
- TORCHVISION_0_11 = check_version(torchvision.__version__, "0.11.0")
33
- TORCHVISION_0_13 = check_version(torchvision.__version__, "0.13.0")
38
+ TORCHVISION_0_10 = check_version(TORCHVISION_VERSION, "0.10.0")
39
+ TORCHVISION_0_11 = check_version(TORCHVISION_VERSION, "0.11.0")
40
+ TORCHVISION_0_13 = check_version(TORCHVISION_VERSION, "0.13.0")
34
41
 
35
42
 
36
43
  @contextmanager
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.1.42
3
+ Version: 8.1.44
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
@@ -1,4 +1,4 @@
1
- ultralytics/__init__.py,sha256=EPb0QNtYwzUrjlZwrq8Xr5ATiPKXHZv2VRZiKU4XPmA,625
1
+ ultralytics/__init__.py,sha256=LHzrvkkUDbXdGni1kVX7sq9Jkvf0hV_0MvcA_yn0Ijc,633
2
2
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
3
3
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
4
4
  ultralytics/cfg/__init__.py,sha256=ugSQqHCg31bAE9rwhVrnLMNzKLShr9JxDFcN6kBTbUk,21316
@@ -56,44 +56,44 @@ ultralytics/cfg/models/v8/yolov8-seg.yaml,sha256=fN85m_aDMCH4oTJ3z-ft98Pdh6dk0pZ
56
56
  ultralytics/cfg/models/v8/yolov8-world.yaml,sha256=RXTp_tgix8dbnVHprapxiK2aax7M2qIfmuR-aAve4sU,2019
57
57
  ultralytics/cfg/models/v8/yolov8-worldv2.yaml,sha256=fvGVUxvlBOjN6LUiiaiGsnjK5ZKjwYGWxgkJ49hGmMg,1956
58
58
  ultralytics/cfg/models/v8/yolov8.yaml,sha256=VjSe_V2Gn9ZpJrwTtz0A6_6IMp6UuugNiR7aEShR5rc,1889
59
- ultralytics/cfg/models/v9/yolov9c-seg.yaml,sha256=Q0FnO3-ff-JepwP9gY51dhXiN8CMiyJLWjeEIWNhiuQ,1270
60
- ultralytics/cfg/models/v9/yolov9c.yaml,sha256=04C3zUJK56X727s3mKDtZCw4b4hM6Tcq8Qq_2w0pIBg,1257
61
- ultralytics/cfg/models/v9/yolov9e-seg.yaml,sha256=J137yzM0OWtF0CV39IG7RaIWrlT44MT7KwfdnPKkBcU,2230
62
- ultralytics/cfg/models/v9/yolov9e.yaml,sha256=glFAVjWU1iz440LjRTXLfoeq9O4mPfT0U6U67HN-KYU,2213
59
+ ultralytics/cfg/models/v9/yolov9c-seg.yaml,sha256=N4gKdqTF-oHAOAQnaB03sNbf39mzPmlWAxdqxz73OsU,1271
60
+ ultralytics/cfg/models/v9/yolov9c.yaml,sha256=YIEWXY_jN9oieF0AyiNMXsawW4Qb8OoSvaLSX0uZCc4,1256
61
+ ultralytics/cfg/models/v9/yolov9e-seg.yaml,sha256=ewM-vKHlv3FyF8AVsTHki-nop56DpRDeozq5v5xtuzw,2212
62
+ ultralytics/cfg/models/v9/yolov9e.yaml,sha256=oK9Qj3kdEiug43J2k4YGL-fkxvGwgixB87W3FjBQwfo,2196
63
63
  ultralytics/cfg/trackers/botsort.yaml,sha256=YrPmj18p1UU40kJH5NRdL_4S8f7knggkk_q2KYnVudo,883
64
64
  ultralytics/cfg/trackers/bytetrack.yaml,sha256=QvHmtuwulK4X6j3T5VEqtCm0sbWWBUVmWPcCcM20qe0,688
65
- ultralytics/data/__init__.py,sha256=bGJ8oEBheIj8tQ2q3d7JqiVJUT4Ft9lXkDXOvBUj6Q0,637
65
+ ultralytics/data/__init__.py,sha256=VGe-ATG7j35F4A4r8Jmzffjlhve4JAJPgRa5ahKTU18,616
66
66
  ultralytics/data/annotator.py,sha256=evXQzARVerc0hb9ol-n_GrrHf-dlXO4lCMMWEZoJ2UM,2117
67
- ultralytics/data/augment.py,sha256=tU1HGE7Dm-cjPvXfKyNpThzYCGO54RgcN3WR0SgjfpU,57388
68
- ultralytics/data/base.py,sha256=8DwF1_H0GIdTbF6iSm-763TK3ez3El9aZVix0h-X-c0,13470
69
- ultralytics/data/build.py,sha256=CgUq3g3s5Kc6UXDjCkx-rfmK2biRqhGHZWY21tnJOk0,7265
70
- ultralytics/data/converter.py,sha256=Y0V4xuCqge55gXbXHhWZij52zx27BFAKCspyxrg_MFs,17527
71
- ultralytics/data/dataset.py,sha256=THxFiJdawrdrC9MB4Moayml70gQ6ophAa_3F5_V_jlk,22011
72
- ultralytics/data/loaders.py,sha256=2GOYHELK9nh7RlIcqUqg3kuRgWUvXT43mI2P_XOtxCA,23146
67
+ ultralytics/data/augment.py,sha256=M9ixb4z2N0acBH8euunz6pgHg14gwznxRHO6HZhbghs,57476
68
+ ultralytics/data/base.py,sha256=lHdOJerjGI7Myh3sxXNtaATUAfUj4jcWlCvZVjYnxn8,13470
69
+ ultralytics/data/build.py,sha256=Bq6hh3GgmvBx9LSMYUEj0t6COu3Xmc45zmF9QZbTkpM,7265
70
+ ultralytics/data/converter.py,sha256=NLDiV67RshbKQnMJUiQQF11boVzEqgi2Hz39nKVAI4U,17528
71
+ ultralytics/data/dataset.py,sha256=XdhYb8IYgM9uQbS3Iy3gSnGmKe5qJeX7y7IaDkkFOXI,22199
72
+ ultralytics/data/loaders.py,sha256=UxNLLV6rwUDog9MSOkHpDn52TO-X2g2P4a5ZwvB7Ii8,23142
73
73
  ultralytics/data/split_dota.py,sha256=PQdkwwlFtLKhWIrbToshSekXGdgbrbYMN6hM4ujfa7o,10010
74
- ultralytics/data/utils.py,sha256=7zaL2N9Hp3ki1EI31NuthMVJS9uEcakDjoN-2t7Amw4,30869
74
+ ultralytics/data/utils.py,sha256=2wqf4mi2r78yH1oJS29ZILHCuBtm1nzpagRLoo0sEDw,30869
75
75
  ultralytics/data/explorer/__init__.py,sha256=-Y3m1ZedepOQUv_KW82zaGxvU_PSHcuwUTFqG9BhAr4,113
76
- ultralytics/data/explorer/explorer.py,sha256=9i_TlOfC87m2_tL4UR6ZjRb_T_mZNCMLIYMVWtD4pkY,18782
77
- ultralytics/data/explorer/utils.py,sha256=a6ugY8rKpFM8dIRcUwRyjRkRJ-zXEwe-NiJr6CLVlus,7041
76
+ ultralytics/data/explorer/explorer.py,sha256=oSXQ0NPSfwvlcVS7emZ9jB4QcWRLAqeZg-49_hB0prg,18710
77
+ ultralytics/data/explorer/utils.py,sha256=EvvukQiQUTBrsZznmMnyEX2EqTuwZo_Geyc8yfi8NIA,7085
78
78
  ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
79
- ultralytics/data/explorer/gui/dash.py,sha256=a2s8oJKI8kqnWEcIyqCCzvIyvM_uZmfMaxrOdwmiq7k,10044
79
+ ultralytics/data/explorer/gui/dash.py,sha256=2oAbNroR2lfS45v53M1sRqZklLXbbj6qXqNxvplulC0,10087
80
80
  ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
81
- ultralytics/engine/exporter.py,sha256=ZQNF6SUj0NlgUCr9Tbj2TQJxLrgEJJPfdyo4LtL_WJA,53790
82
- ultralytics/engine/model.py,sha256=tCU9z_cQhdJTwUUce3a7rSeCWkUgJO4RfHNT29pB41E,39829
81
+ ultralytics/engine/exporter.py,sha256=NeJEldYo37wMlhMQGQxn8qRhYN1ZYOmuEnbFwCk_LNM,53835
82
+ ultralytics/engine/model.py,sha256=QkNRSxYkmr3wM9iFgsfszmenHMdu2KTuT_yrSL-BA7o,39830
83
83
  ultralytics/engine/predictor.py,sha256=wQRKdWGDTP5A6CS0gTC6U3RPDMhP3QkEzWSPm6eqCkU,17022
84
84
  ultralytics/engine/results.py,sha256=MvrOBrBlRF7kbL-QwysMf9mIDy_lwQBTTYvy1x1FMME,30667
85
- ultralytics/engine/trainer.py,sha256=GK3nxCrwdxhrfBdGfavCRirSPX8xrga90VwOBPzI4lQ,34919
85
+ ultralytics/engine/trainer.py,sha256=Vm41LwIkM7SECJEXEToH7NNc9AS1vKrTu1gLkZKdPEo,34933
86
86
  ultralytics/engine/tuner.py,sha256=zttHrQkvXuUVTB7jmM4Z85GgIsQ2hjpW9YrMccrQ4wo,11829
87
87
  ultralytics/engine/validator.py,sha256=p0irfLSZa3-0TtcuGheI8kNbzPUqs_UM3TMK4VRUGK4,14645
88
88
  ultralytics/hub/__init__.py,sha256=U4j-2QPdwSDlxw6RgFYnnJXOoIzLtwke4TkY2A8q4ws,5068
89
- ultralytics/hub/auth.py,sha256=hc97pJ01OfI8oQ7uw3ubKbiVCDSGxSGJHoo9W6hrrNw,5403
90
- ultralytics/hub/session.py,sha256=kFwufDIY7TeV79DdEQBKYrU5883WxgCrpJoTr1S5QuE,14649
91
- ultralytics/hub/utils.py,sha256=U0Bd-cwc1DvHwmM1CWB7Fr4MwfPi9SkF1tPUnHyy3qc,9729
89
+ ultralytics/hub/auth.py,sha256=FID58NE6fh7Op_B45QOpWBw1qoBN0ponL16uvyb2dZ8,5399
90
+ ultralytics/hub/session.py,sha256=FCO7Svn7Ffqxzbx4D3rvCU7D2c9HVMKnEVvIHne6G74,14647
91
+ ultralytics/hub/utils.py,sha256=RpFDFp9biUK70Mswzz2o3uEu4xwQxRaStPS19U2gu0g,9721
92
92
  ultralytics/models/__init__.py,sha256=xrzn2dcLBG6Ujxll8LtlTIblPar2gjNhAwjAQg7u8sk,197
93
93
  ultralytics/models/fastsam/__init__.py,sha256=0dt65jZ_5b7Q-mdXN8MSEkgnFRA0FIwlel_LS2RaOlU,254
94
94
  ultralytics/models/fastsam/model.py,sha256=yOf-byvFxafXYTEoc9j1dYnE2XFNErRYSnroyGxkW7I,1054
95
95
  ultralytics/models/fastsam/predict.py,sha256=0WHUFrqHUNy1cTNpLKsN0FKqLKCvr7fHU6pp91_QVg0,4121
96
- ultralytics/models/fastsam/prompt.py,sha256=H-EtgJAz2I0iSEVzNEw_DdhBdELxzGZ2FnL0dvxssf0,16132
96
+ ultralytics/models/fastsam/prompt.py,sha256=v_aS-8EAPtK6ug70f_QtsMBoRAZA47_x6I_owA2rJlI,16182
97
97
  ultralytics/models/fastsam/utils.py,sha256=r-b362Wb7P2ZAlOwWckPJM6HLvg-eFDDz4wkA0ymLd0,2157
98
98
  ultralytics/models/fastsam/val.py,sha256=ILKmw3U8FYmmQsO9wk9-bJ9Pyp_ZthJM36b61L75s3Y,1967
99
99
  ultralytics/models/nas/__init__.py,sha256=d6-WTrYLXvbPs58ebA0-583ODi-VyzXc-t4aGIDQK6M,179
@@ -104,35 +104,35 @@ ultralytics/models/rtdetr/__init__.py,sha256=AZga1C3qlGTtgpAupDW4doijq5aZlQeF8e5
104
104
  ultralytics/models/rtdetr/model.py,sha256=2VkppF1_581XmQ0UI7lo8fX7MqhAJPXVMr2jyMHXtbk,1988
105
105
  ultralytics/models/rtdetr/predict.py,sha256=-NFBAv_4VIUcXycO7wA8IH6EHXrVyOir-5PZkd46qyo,3584
106
106
  ultralytics/models/rtdetr/train.py,sha256=HdSC2x22Rks6qKNI7EGa6nWMZPhi_7VdQrbcayxk0ec,3684
107
- ultralytics/models/rtdetr/val.py,sha256=6bNhHl_6JbpjuW4nlaojjDgmhbUNJy0J5Qz8FXZI9Gg,5555
107
+ ultralytics/models/rtdetr/val.py,sha256=4QQArdaGEY8rJsJuvyJ032f8GGVGdV2jURHK2EdMxyk,5566
108
108
  ultralytics/models/sam/__init__.py,sha256=9A1iyfPN_ncqq3TMExe_-uPoARjEX3psoHEI1xMG2VE,144
109
109
  ultralytics/models/sam/amg.py,sha256=MsKSRS2SieZK_n-m2ICk1QpcYogl5mofcsVa-4FXYvo,7935
110
110
  ultralytics/models/sam/build.py,sha256=jJvloRbPwHvSnVWwM3pEdzpM5MdIcEHbRaqQk_S9lG8,4943
111
111
  ultralytics/models/sam/model.py,sha256=H87wexHJ84wbtfKVrZe6I-VuLlhI8h6XeNpxe0D-Sgc,4706
112
- ultralytics/models/sam/predict.py,sha256=C8dErpMefMwQvReJSvxRMaTala6OJbAckrGO3m508kI,23632
112
+ ultralytics/models/sam/predict.py,sha256=moCqdExdpftqSefmpRK7yNNXFuRb5Z_Zbb0U-JkSH8o,23613
113
113
  ultralytics/models/sam/modules/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
114
114
  ultralytics/models/sam/modules/decoders.py,sha256=7NWnBNupxGYvH0S1N0R6NBHxdVFRUrrnL9EqAw09J4E,7816
115
115
  ultralytics/models/sam/modules/encoders.py,sha256=pRNZHzt2J2xD_D0Btu8pk4DcItfr6dRr9rcRfxoZZhU,24746
116
116
  ultralytics/models/sam/modules/sam.py,sha256=zC4l4kcrIQD_ekczjl2l6dgaABqqjROZxQ-FDb-itt0,2783
117
- ultralytics/models/sam/modules/tiny_encoder.py,sha256=kxEh4nZn5lwRYTSuauEQNg7uzibuKiLDzzwx5MD5WMY,29135
118
- ultralytics/models/sam/modules/transformer.py,sha256=-wboK4gNKOJMP8J8ACN2JoK-xze40NZG696HsxdYObs,11170
117
+ ultralytics/models/sam/modules/tiny_encoder.py,sha256=ypXIMBXpsNUBrskbdJjo2pErI_mtNJlHMdmo9Erqgp0,29125
118
+ ultralytics/models/sam/modules/transformer.py,sha256=VINZMb4xkx4IHAbJdhCq2XLDvaFBMup7RGC16DLS7OY,11164
119
119
  ultralytics/models/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
120
120
  ultralytics/models/utils/loss.py,sha256=IMzcnDwwkgO9F6GDKVxrDdVdhUX_7d9uY4tX-AgtT0g,15134
121
121
  ultralytics/models/utils/ops.py,sha256=sn1vdwIK2LaCvxvuuP31Yw2HXEMAmQdo7KD9JVh4GM4,13244
122
122
  ultralytics/models/yolo/__init__.py,sha256=e1cZr9pbSbf3Ya2OvkTjGRwD_E2YZpe610xskBM8gEk,247
123
- ultralytics/models/yolo/model.py,sha256=PJwBkdDkgyPuQBuIcAx5uDb78JwYg56nFeYMyzBY_nY,3991
123
+ ultralytics/models/yolo/model.py,sha256=EwjRD9QrLP7qxqqjj-Q1II4RdjTZTyssn_n1iwO68VE,3991
124
124
  ultralytics/models/yolo/classify/__init__.py,sha256=t-4pUHmgI2gjhc-l3bqNEcEtKD1dO40nD4Vc6Y2xD6o,355
125
125
  ultralytics/models/yolo/classify/predict.py,sha256=wFY4GIlWxe7idMndEw1RnDI63o53MTfiHKz0s2fOjAY,2513
126
- ultralytics/models/yolo/classify/train.py,sha256=Q5gN5Zq0mVV7DsLLBcGNhrWhoVYjJlqwTPSotbR87-8,6838
126
+ ultralytics/models/yolo/classify/train.py,sha256=9CRqtLkePo4ZkAzMTxDY4ztrNaWE34qnytYymfCEBzs,6888
127
127
  ultralytics/models/yolo/classify/val.py,sha256=EP_hjRExXgdI4xojTKvj_YeNdaz_i2CoUzorl55r0OA,4861
128
128
  ultralytics/models/yolo/detect/__init__.py,sha256=JR8gZJWn7wMBbh-0j_073nxJVZTMFZVWTOG5Wnvk6w0,229
129
129
  ultralytics/models/yolo/detect/predict.py,sha256=_a9vH3DmKFY6eeztFTdj3nkfu_MKG6n7zb5rRKGjs9I,1510
130
130
  ultralytics/models/yolo/detect/train.py,sha256=8Ulq1SPNLrkOqXj0Yt5zNR1c_Xl_QnOjllCdqBHUMds,6353
131
- ultralytics/models/yolo/detect/val.py,sha256=KznQpsllz3_4YAv2kSub2y75q5XQXz0UHay3zta2P30,14416
131
+ ultralytics/models/yolo/detect/val.py,sha256=2XFFH66HGN7ujLhtfIw9929Oq3y8rMdsN6bUNN-bcaM,14427
132
132
  ultralytics/models/yolo/obb/__init__.py,sha256=txWbPGLY1_M7ZwlLQjrwGjTBOlsv9P3yk5ZEgysTinU,193
133
133
  ultralytics/models/yolo/obb/predict.py,sha256=prfDzhwuVHKF6CRwnFVBA-YFI5q7U7NEQwITGHmB2Ow,2037
134
134
  ultralytics/models/yolo/obb/train.py,sha256=tWpFtcasMwWq1A_9VdbEg5pIVHwuWwmeLOyj-S4_1sY,1473
135
- ultralytics/models/yolo/obb/val.py,sha256=Wml-loYT5Uy4Mx6UmxNOrmURT13DIOBk_rFSs55NTNg,8500
135
+ ultralytics/models/yolo/obb/val.py,sha256=tHoUDh-Pv95GEnQ73yzCAAxnTMNayv4yZg33hmGuNww,8511
136
136
  ultralytics/models/yolo/pose/__init__.py,sha256=OGvxN3LqJot2h8GX1csJ1KErsHnDKsm33Ce6ZBU9Lr4,199
137
137
  ultralytics/models/yolo/pose/predict.py,sha256=illk4qyZvybc_XMo9TKT54FIkizx91MYviE5c5OwBTQ,2404
138
138
  ultralytics/models/yolo/pose/train.py,sha256=ki8bkT8WfIFjTKf1ofeRDqeIqmk6A8a7AFog7nM-otM,2926
@@ -143,64 +143,64 @@ ultralytics/models/yolo/segment/train.py,sha256=aOQpDIptZfKSl9mFa6B-3W3QccMRlmBI
143
143
  ultralytics/models/yolo/segment/val.py,sha256=njiF6RWddS-HOWxVvlk5PXRw6UOgEt_HEOZVPF7rruQ,11745
144
144
  ultralytics/models/yolo/world/__init__.py,sha256=3VTH0q4NOt2EWRom15yCymvmvm0Etp2bmETJUhsVTBI,103
145
145
  ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WViDstn7npfI,3686
146
- ultralytics/models/yolo/world/train_world.py,sha256=5IXNJU9otTH0e5_Lo0Fyu-rmVgkPWuSDOrqAL9hFu3s,4805
146
+ ultralytics/models/yolo/world/train_world.py,sha256=ICPsYNbuPkq_qf3FHl2YJ-q3g7ik0pI-zhMpLmHa5-4,4805
147
147
  ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
148
148
  ultralytics/nn/autobackend.py,sha256=QtPDtQfUNnTGiW6yJnWGNWR_aqkYDFIevyx22uC2bdI,28716
149
- ultralytics/nn/tasks.py,sha256=UKPA4T-QX50qUTemlKO2FB_vR9U19E6K5KVAriFs-xY,43623
150
- ultralytics/nn/modules/__init__.py,sha256=Ga3MDpwX6DeI7VSH8joti5uleP4mgkQGolbe8RLZ2T8,2326
149
+ ultralytics/nn/tasks.py,sha256=a3FSkIUErlE7qI506ye5vGggqzMxqXWDkIbbLD4AGyI,43623
150
+ ultralytics/nn/modules/__init__.py,sha256=KzLoyn2ldfReiQL8H8xsMC49Xvtb8Kv9ikE5Q3OBoAs,2326
151
151
  ultralytics/nn/modules/block.py,sha256=smIz3oNTDA7UKrAH5FfSMh08C12-avgWTeIkbgZIv18,25251
152
152
  ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
153
- ultralytics/nn/modules/head.py,sha256=djW6YGN70mFYGDkMFV1xj1WZJtA9yKsNxmtnPVSxukY,22337
153
+ ultralytics/nn/modules/head.py,sha256=rld0BUC9nzYmdZtyj4CSPwupyJezmKUywRJT4OatcPw,22337
154
154
  ultralytics/nn/modules/transformer.py,sha256=AxD9uURpCl-EqvXe3DiG6JW-pBzB16G-AahLdZ7yayo,17909
155
155
  ultralytics/nn/modules/utils.py,sha256=779QnnKp9v8jv251ESduTXJ0ol8HkIOLbGQWwEGQjhU,3196
156
156
  ultralytics/solutions/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
157
157
  ultralytics/solutions/ai_gym.py,sha256=IZHpvmNyEQT_aqMTrA5sIjCsl3_5Zl2WG31HxGT6KV4,5696
158
158
  ultralytics/solutions/distance_calculation.py,sha256=N1QB5uDG_6sp8jD5uSwp_NTPmyP4UCqJm9G2lNrgpr8,6334
159
- ultralytics/solutions/heatmap.py,sha256=PjRI0PRhPwO1RE-NSDXlbvgCXTnGtD-HvI0HMKwUOkE,12902
160
- ultralytics/solutions/object_counter.py,sha256=LOExuFduOKJcs94pWpv27jgLAZJxHDsmxouXKVBS10s,12058
159
+ ultralytics/solutions/heatmap.py,sha256=IeUkGRYbO8I7Sca0I2kvxh8dILy1gehmbIYolFF-ppc,12276
160
+ ultralytics/solutions/object_counter.py,sha256=46eP0iF3WjnpIZc7Umrf3dhyNE30NaN9-T79QSwBJ2I,11558
161
161
  ultralytics/solutions/queue_management.py,sha256=TBQ2dIKYtymBjhdw0Enxa22KHyH3IdXf2C-1Se21siA,6684
162
162
  ultralytics/solutions/speed_estimation.py,sha256=lvaU-F8f3V4KFVKFaNS7isIdYtMSFjh_zF9gl0Mals8,6714
163
163
  ultralytics/trackers/__init__.py,sha256=j72IgH2dZHQArMPK4YwcV5ieIw94fYvlGdQjB9cOQKw,227
164
164
  ultralytics/trackers/basetrack.py,sha256=-vBDD-Q9lsxfTMK2w9kuqWGrYbRMmaBCCEbGGyR53gE,3675
165
165
  ultralytics/trackers/bot_sort.py,sha256=39AvhYVbT7izF3--rX_e6Lhgb5czTA23gw6AgnNcRds,8601
166
- ultralytics/trackers/byte_tracker.py,sha256=OH1AfBZ7TXzjRPyvrsaWnbqI1CqWxdErMrGazKJ5GtM,18871
166
+ ultralytics/trackers/byte_tracker.py,sha256=5uEgklqHgOEG_FNiDcoZdyJRtcGmA13EQMidrB9nOCk,18871
167
167
  ultralytics/trackers/track.py,sha256=Brp7G1le2kLs-8PTOzDllpUBW6ps_Wta2qx2GUPI7TU,3462
168
168
  ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
169
169
  ultralytics/trackers/utils/gmc.py,sha256=vwcPA1n5zjPaBGhCDt8ItN7rq_6Sczsjn4gsXJfRylU,13688
170
- ultralytics/trackers/utils/kalman_filter.py,sha256=JN1sAcfJZy8fTZxc8w3jUJnGQDKtgAL__p4nTR6RM2I,15168
171
- ultralytics/trackers/utils/matching.py,sha256=c_pthBfu9sWeMVYe-dSecdWcQxUey-mQT2yMVsFH3VQ,5404
172
- ultralytics/utils/__init__.py,sha256=8UoUCD7TM5EBFv2_fMsfYyYTc_2HBFGsMWcJ1CYRJHo,37843
170
+ ultralytics/trackers/utils/kalman_filter.py,sha256=0oqhk59NKEiwcJ2FXnw6_sT4bIFC6Wu5IY2B-TGxJKU,15168
171
+ ultralytics/trackers/utils/matching.py,sha256=UxhSGa5pN6WoYwYSBAkkt-O7xMxUR47VuUB6PfVNkb4,5404
172
+ ultralytics/utils/__init__.py,sha256=ggkaKah5WaPsfC8zD4dPk9syQgpOymClZW9U-8QCAUo,38440
173
173
  ultralytics/utils/autobatch.py,sha256=ygZ3f2ByIkcujB89ENcTnGWWnAQw5Pbg6nBuShg-5t4,3863
174
- ultralytics/utils/benchmarks.py,sha256=fpNWdrty1ULKP3jHFrRNln_o9gIT03F4KOE5xPuy0WI,18285
175
- ultralytics/utils/checks.py,sha256=OtBD-U90qsiYGSti7xq2LlhjbtgKbye05fJ4cgCst7s,28030
174
+ ultralytics/utils/benchmarks.py,sha256=BNG0sO34_mu3fIEfMn8j-QzQ9Da6K1KujO-CxDkvsOM,18325
175
+ ultralytics/utils/checks.py,sha256=UDrcHiTMjSHSyUZflTRGuyYRj0uz9-RQ-xfDq_lsXZo,27971
176
176
  ultralytics/utils/dist.py,sha256=3HeNbY2gp7vYhcvVhsrvTrQXpQmgT8tpmnzApf3eQRA,2267
177
177
  ultralytics/utils/downloads.py,sha256=j1S27awWiLTt1qC9l53WqH_BilM13JHLSVmQ2xFqh-4,21496
178
178
  ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
179
179
  ultralytics/utils/files.py,sha256=TVfY0Wi5IsUc4YdsDzC0dAg-jAP5exYvwqB3VmXhDLY,6761
180
180
  ultralytics/utils/instance.py,sha256=fPClvPPtTk8VeXWiRv90DrFk1j1lTUKdYJtpZKUDDtA,15575
181
181
  ultralytics/utils/loss.py,sha256=lOFBx-lKn-aGHUIPTb1NQefXiNot07egNx7qKErChpU,32716
182
- ultralytics/utils/metrics.py,sha256=xKcQFjkrOpA5JtlC9K9F3BF40h09ejC8w0jKSbR3gCE,53473
183
- ultralytics/utils/ops.py,sha256=GFe_tx8MVKT56xelbAuQjiJ28ohpzARpD6BzGyJ1yMk,33264
182
+ ultralytics/utils/metrics.py,sha256=XPD-xP0fchR8KgCuTcihV2-n0EK1cWi3-53BWN_pLuA,53518
183
+ ultralytics/utils/ops.py,sha256=wZCWx7dm5GJNIJHyZaFJRetGcQ7prdv-anplqq9figQ,33309
184
184
  ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
185
- ultralytics/utils/plotting.py,sha256=pEhojZYbmonNSJBRKcbIKYSvxpz4TueKDBAx1nxQIbg,46391
185
+ ultralytics/utils/plotting.py,sha256=hifiLd0mz2EM9Z4qPHkWbzBaIvUgI1w0ynMdD5-eYoY,47441
186
186
  ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
187
- ultralytics/utils/torch_utils.py,sha256=15YL3IlZq4AevlK06zA-6FRIrRnxGtQo4Uh-GyGInm8,25825
187
+ ultralytics/utils/torch_utils.py,sha256=-lXdJenpUfKM932ipvGfzup8FjNzX6g16hibwW5wPIU,25848
188
188
  ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
189
189
  ultralytics/utils/tuner.py,sha256=JhvBp6haKA6eqpNPpGJzzjjCmPxBx5phk9kHmt_jppw,6171
190
190
  ultralytics/utils/callbacks/__init__.py,sha256=YrWqC3BVVaTLob4iCPR6I36mUxIUOpPJW7B_LjT78Qw,214
191
191
  ultralytics/utils/callbacks/base.py,sha256=sOe3JvyBFmRwVZ8_Q03u7JwTeOOm9CI4s9-UEhnG0xA,5777
192
- ultralytics/utils/callbacks/clearml.py,sha256=K7bDf5tS8xL4KeFMkoVDL2kKkil3f4qoKy8KfZkD854,5897
192
+ ultralytics/utils/callbacks/clearml.py,sha256=M9Fi1OfdWqcm8uVkauuX3zJIYhNh6Tp7Jo4CfA0u0nw,5923
193
193
  ultralytics/utils/callbacks/comet.py,sha256=QR3-9f0L_W7nZWWg_OEN7t8La2JotapSS-CnNYVjCdk,13744
194
194
  ultralytics/utils/callbacks/dvc.py,sha256=WIClMsuvhiiyrwRv5BsZLxjsxYNJ3Y8Vq7zN0Bthtro,5045
195
- ultralytics/utils/callbacks/hub.py,sha256=2xebyUL92j3OZwMmL80kdvHrMizqaaqXBe5oSXJRKdA,3621
196
- ultralytics/utils/callbacks/mlflow.py,sha256=Wr5Kju9GFdwGJXJKvkPJDCZH6KiPF9EUxKPk08DBttY,5333
195
+ ultralytics/utils/callbacks/hub.py,sha256=IPNnCRlAEFA-Dt18JWTuHhaQpcAy3XGgxBD4JhO0jSs,3586
196
+ ultralytics/utils/callbacks/mlflow.py,sha256=AVuYE4UKA5Eeg8sffbkCOe4tGgtCvBlGG4D9PMLm1Z0,5323
197
197
  ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyzC5q7p4ipQ,3756
198
198
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
199
- ultralytics/utils/callbacks/tensorboard.py,sha256=hRmWjbqdA4RNaLuSZznuDcpOBW-_-_Ga0u-B8UU-7ZI,4134
200
- ultralytics/utils/callbacks/wb.py,sha256=4QI81nHdzgwhXHlmTiRxLqunvkKakLXYUhHTUY1ZeHA,6635
201
- ultralytics-8.1.42.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
202
- ultralytics-8.1.42.dist-info/METADATA,sha256=NGLjPKhGssa9W0-gEQyo9lBmQNq54fImPzIy_YTtos8,40416
203
- ultralytics-8.1.42.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
204
- ultralytics-8.1.42.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
205
- ultralytics-8.1.42.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
206
- ultralytics-8.1.42.dist-info/RECORD,,
199
+ ultralytics/utils/callbacks/tensorboard.py,sha256=Z1veCVcn9THPhdplWuIzwlsW2yF7y-On9IZIk3khM0Y,4135
200
+ ultralytics/utils/callbacks/wb.py,sha256=woCQVuZzqtM5KnwxIibcfM3sFBYojeMPnv11jrRaIQA,6674
201
+ ultralytics-8.1.44.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
202
+ ultralytics-8.1.44.dist-info/METADATA,sha256=cZq8GuE5cyVMC-j_iWEJ8o6jjPMxARSrliwhi9mQSFo,40416
203
+ ultralytics-8.1.44.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
204
+ ultralytics-8.1.44.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
205
+ ultralytics-8.1.44.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
206
+ ultralytics-8.1.44.dist-info/RECORD,,