ultralytics 8.1.43__py3-none-any.whl → 8.1.45__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 (47) 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 +2 -2
  8. ultralytics/data/base.py +19 -23
  9. ultralytics/data/build.py +1 -1
  10. ultralytics/data/converter.py +4 -3
  11. ultralytics/data/dataset.py +3 -2
  12. ultralytics/data/explorer/explorer.py +6 -5
  13. ultralytics/data/loaders.py +3 -3
  14. ultralytics/data/utils.py +1 -1
  15. ultralytics/engine/model.py +2 -1
  16. ultralytics/engine/trainer.py +1 -0
  17. ultralytics/engine/tuner.py +1 -1
  18. ultralytics/hub/auth.py +3 -3
  19. ultralytics/hub/session.py +3 -3
  20. ultralytics/hub/utils.py +6 -6
  21. ultralytics/models/rtdetr/val.py +1 -1
  22. ultralytics/models/sam/modules/tiny_encoder.py +2 -2
  23. ultralytics/models/sam/modules/transformer.py +1 -1
  24. ultralytics/models/sam/predict.py +12 -12
  25. ultralytics/models/yolo/detect/val.py +1 -1
  26. ultralytics/models/yolo/model.py +1 -1
  27. ultralytics/models/yolo/obb/val.py +1 -1
  28. ultralytics/models/yolo/world/train_world.py +2 -2
  29. ultralytics/nn/modules/__init__.py +8 -8
  30. ultralytics/nn/modules/head.py +1 -1
  31. ultralytics/nn/tasks.py +7 -7
  32. ultralytics/solutions/object_counter.py +1 -0
  33. ultralytics/trackers/byte_tracker.py +1 -1
  34. ultralytics/trackers/utils/kalman_filter.py +4 -4
  35. ultralytics/trackers/utils/matching.py +1 -1
  36. ultralytics/utils/__init__.py +53 -41
  37. ultralytics/utils/callbacks/hub.py +1 -4
  38. ultralytics/utils/callbacks/mlflow.py +1 -1
  39. ultralytics/utils/callbacks/tensorboard.py +1 -0
  40. ultralytics/utils/checks.py +12 -12
  41. ultralytics/utils/torch_utils.py +1 -1
  42. {ultralytics-8.1.43.dist-info → ultralytics-8.1.45.dist-info}/METADATA +1 -1
  43. {ultralytics-8.1.43.dist-info → ultralytics-8.1.45.dist-info}/RECORD +47 -47
  44. {ultralytics-8.1.43.dist-info → ultralytics-8.1.45.dist-info}/LICENSE +0 -0
  45. {ultralytics-8.1.43.dist-info → ultralytics-8.1.45.dist-info}/WHEEL +0 -0
  46. {ultralytics-8.1.43.dist-info → ultralytics-8.1.45.dist-info}/entry_points.txt +0 -0
  47. {ultralytics-8.1.43.dist-info → ultralytics-8.1.45.dist-info}/top_level.txt +0 -0
ultralytics/nn/tasks.py CHANGED
@@ -15,14 +15,17 @@ from ultralytics.nn.modules import (
15
15
  C3TR,
16
16
  OBB,
17
17
  SPP,
18
+ SPPELAN,
18
19
  SPPF,
20
+ ADown,
19
21
  Bottleneck,
20
22
  BottleneckCSP,
21
23
  C2f,
22
24
  C2fAttn,
23
- ImagePoolingAttn,
24
25
  C3Ghost,
25
26
  C3x,
27
+ CBFuse,
28
+ CBLinear,
26
29
  Classify,
27
30
  Concat,
28
31
  Conv,
@@ -36,19 +39,16 @@ from ultralytics.nn.modules import (
36
39
  GhostConv,
37
40
  HGBlock,
38
41
  HGStem,
42
+ ImagePoolingAttn,
39
43
  Pose,
40
44
  RepC3,
41
45
  RepConv,
46
+ RepNCSPELAN4,
42
47
  ResNetLayer,
43
48
  RTDETRDecoder,
44
49
  Segment,
45
- WorldDetect,
46
- RepNCSPELAN4,
47
- ADown,
48
- SPPELAN,
49
- CBFuse,
50
- CBLinear,
51
50
  Silence,
51
+ WorldDetect,
52
52
  )
53
53
  from ultralytics.utils import DEFAULT_CFG_DICT, DEFAULT_CFG_KEYS, LOGGER, colorstr, emojis, yaml_load
54
54
  from ultralytics.utils.checks import check_requirements, check_suffix, check_yaml
@@ -1,6 +1,7 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
3
  from collections import defaultdict
4
+
4
5
  import cv2
5
6
 
6
7
  from ultralytics.utils.checks import check_imshow, check_requirements
@@ -5,8 +5,8 @@ import numpy as np
5
5
  from .basetrack import BaseTrack, TrackState
6
6
  from .utils import matching
7
7
  from .utils.kalman_filter import KalmanFilterXYAH
8
- from ..utils.ops import xywh2ltwh
9
8
  from ..utils import LOGGER
9
+ from ..utils.ops import xywh2ltwh
10
10
 
11
11
 
12
12
  class STrack(BaseTrack):
@@ -39,8 +39,8 @@ class KalmanFilterXYAH:
39
39
  and height h.
40
40
 
41
41
  Returns:
42
- (tuple[ndarray, ndarray]): Returns the mean vector (8 dimensional) and covariance matrix (8x8 dimensional) of
43
- the new track. Unobserved velocities are initialized to 0 mean.
42
+ (tuple[ndarray, ndarray]): Returns the mean vector (8 dimensional) and covariance matrix (8x8 dimensional)
43
+ of the new track. Unobserved velocities are initialized to 0 mean.
44
44
  """
45
45
  mean_pos = measurement
46
46
  mean_vel = np.zeros_like(mean_pos)
@@ -235,8 +235,8 @@ class KalmanFilterXYWH(KalmanFilterXYAH):
235
235
  measurement (ndarray): Bounding box coordinates (x, y, w, h) with center position (x, y), width, and height.
236
236
 
237
237
  Returns:
238
- (tuple[ndarray, ndarray]): Returns the mean vector (8 dimensional) and covariance matrix (8x8 dimensional) of
239
- the new track. Unobserved velocities are initialized to 0 mean.
238
+ (tuple[ndarray, ndarray]): Returns the mean vector (8 dimensional) and covariance matrix (8x8 dimensional)
239
+ of the new track. Unobserved velocities are initialized to 0 mean.
240
240
  """
241
241
  mean_pos = measurement
242
242
  mean_vel = np.zeros_like(mean_pos)
@@ -4,7 +4,7 @@ import numpy as np
4
4
  import scipy
5
5
  from scipy.spatial.distance import cdist
6
6
 
7
- from ultralytics.utils.metrics import bbox_ioa, batch_probiou
7
+ from ultralytics.utils.metrics import batch_probiou, bbox_ioa
8
8
 
9
9
  try:
10
10
  import lap # for linear_assignment
@@ -460,12 +460,23 @@ def is_docker() -> bool:
460
460
  Returns:
461
461
  (bool): True if the script is running inside a Docker container, False otherwise.
462
462
  """
463
- file = Path("/proc/self/cgroup")
464
- if file.exists():
465
- with open(file) as f:
463
+ with contextlib.suppress(Exception):
464
+ with open("/proc/self/cgroup") as f:
466
465
  return "docker" in f.read()
467
- else:
468
- return False
466
+ return False
467
+
468
+
469
+ def is_raspberrypi() -> bool:
470
+ """
471
+ Determines if the Python environment is running on a Raspberry Pi by checking the device model information.
472
+
473
+ Returns:
474
+ (bool): True if running on a Raspberry Pi, False otherwise.
475
+ """
476
+ with contextlib.suppress(Exception):
477
+ with open("/proc/device-tree/model") as f:
478
+ return "Raspberry Pi" in f.read()
479
+ return False
469
480
 
470
481
 
471
482
  def is_online() -> bool:
@@ -475,23 +486,15 @@ def is_online() -> bool:
475
486
  Returns:
476
487
  (bool): True if connection is successful, False otherwise.
477
488
  """
478
- import socket
489
+ with contextlib.suppress(Exception):
490
+ assert str(os.getenv("YOLO_OFFLINE", "")).lower() != "true" # check if ENV var YOLO_OFFLINE="True"
491
+ import socket
479
492
 
480
- for host in "1.1.1.1", "8.8.8.8", "223.5.5.5": # Cloudflare, Google, AliDNS:
481
- try:
482
- test_connection = socket.create_connection(address=(host, 80), timeout=2)
483
- except (socket.timeout, socket.gaierror, OSError):
484
- continue
485
- else:
486
- # If the connection was successful, close it to avoid a ResourceWarning
487
- test_connection.close()
488
- return True
493
+ socket.create_connection(address=("1.1.1.1", 80), timeout=1.0).close() # check Cloudflare DNS
494
+ return True
489
495
  return False
490
496
 
491
497
 
492
- ONLINE = is_online()
493
-
494
-
495
498
  def is_pip_package(filepath: str = __name__) -> bool:
496
499
  """
497
500
  Determines if the file at the given filepath is part of a pip package.
@@ -544,17 +547,6 @@ def is_github_action_running() -> bool:
544
547
  return "GITHUB_ACTIONS" in os.environ and "GITHUB_WORKFLOW" in os.environ and "RUNNER_OS" in os.environ
545
548
 
546
549
 
547
- def is_git_dir():
548
- """
549
- Determines whether the current file is part of a git repository. If the current file is not part of a git
550
- repository, returns None.
551
-
552
- Returns:
553
- (bool): True if current file is part of a git repository.
554
- """
555
- return get_git_dir() is not None
556
-
557
-
558
550
  def get_git_dir():
559
551
  """
560
552
  Determines whether the current file is part of a git repository and if so, returns the repository root directory. If
@@ -568,6 +560,17 @@ def get_git_dir():
568
560
  return d
569
561
 
570
562
 
563
+ def is_git_dir():
564
+ """
565
+ Determines whether the current file is part of a git repository. If the current file is not part of a git
566
+ repository, returns None.
567
+
568
+ Returns:
569
+ (bool): True if current file is part of a git repository.
570
+ """
571
+ return GIT_DIR is not None
572
+
573
+
571
574
  def get_git_origin_url():
572
575
  """
573
576
  Retrieves the origin URL of a git repository.
@@ -575,7 +578,7 @@ def get_git_origin_url():
575
578
  Returns:
576
579
  (str | None): The origin URL of the git repository or None if not git directory.
577
580
  """
578
- if is_git_dir():
581
+ if IS_GIT_DIR:
579
582
  with contextlib.suppress(subprocess.CalledProcessError):
580
583
  origin = subprocess.check_output(["git", "config", "--get", "remote.origin.url"])
581
584
  return origin.decode().strip()
@@ -588,7 +591,7 @@ def get_git_branch():
588
591
  Returns:
589
592
  (str | None): The current git branch name or None if not a git directory.
590
593
  """
591
- if is_git_dir():
594
+ if IS_GIT_DIR:
592
595
  with contextlib.suppress(subprocess.CalledProcessError):
593
596
  origin = subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"])
594
597
  return origin.decode().strip()
@@ -654,6 +657,16 @@ def get_user_config_dir(sub_dir="Ultralytics"):
654
657
  return path
655
658
 
656
659
 
660
+ # Define constants (required below)
661
+ ONLINE = is_online()
662
+ IS_COLAB = is_colab()
663
+ IS_DOCKER = is_docker()
664
+ IS_JUPYTER = is_jupyter()
665
+ IS_KAGGLE = is_kaggle()
666
+ IS_PIP_PACKAGE = is_pip_package()
667
+ IS_RASPBERRYPI = is_raspberrypi()
668
+ GIT_DIR = get_git_dir()
669
+ IS_GIT_DIR = is_git_dir()
657
670
  USER_CONFIG_DIR = Path(os.getenv("YOLO_CONFIG_DIR") or get_user_config_dir()) # Ultralytics settings dir
658
671
  SETTINGS_YAML = USER_CONFIG_DIR / "settings.yaml"
659
672
 
@@ -880,7 +893,7 @@ def set_sentry():
880
893
  event["tags"] = {
881
894
  "sys_argv": ARGV[0],
882
895
  "sys_argv_name": Path(ARGV[0]).name,
883
- "install": "git" if is_git_dir() else "pip" if is_pip_package() else "other",
896
+ "install": "git" if IS_GIT_DIR else "pip" if IS_PIP_PACKAGE else "other",
884
897
  "os": ENVIRONMENT,
885
898
  }
886
899
  return event
@@ -891,8 +904,8 @@ def set_sentry():
891
904
  and Path(ARGV[0]).name == "yolo"
892
905
  and not TESTS_RUNNING
893
906
  and ONLINE
894
- and is_pip_package()
895
- and not is_git_dir()
907
+ and IS_PIP_PACKAGE
908
+ and not IS_GIT_DIR
896
909
  ):
897
910
  # If sentry_sdk package is not installed then return and do not use Sentry
898
911
  try:
@@ -931,9 +944,8 @@ class SettingsManager(dict):
931
944
  from ultralytics.utils.checks import check_version
932
945
  from ultralytics.utils.torch_utils import torch_distributed_zero_first
933
946
 
934
- git_dir = get_git_dir()
935
- root = git_dir or Path()
936
- datasets_root = (root.parent if git_dir and is_dir_writeable(root.parent) else root).resolve()
947
+ root = GIT_DIR or Path()
948
+ datasets_root = (root.parent if GIT_DIR and is_dir_writeable(root.parent) else root).resolve()
937
949
 
938
950
  self.file = Path(file)
939
951
  self.version = version
@@ -1037,13 +1049,13 @@ WEIGHTS_DIR = Path(SETTINGS["weights_dir"]) # global weights directory
1037
1049
  RUNS_DIR = Path(SETTINGS["runs_dir"]) # global runs directory
1038
1050
  ENVIRONMENT = (
1039
1051
  "Colab"
1040
- if is_colab()
1052
+ if IS_COLAB
1041
1053
  else "Kaggle"
1042
- if is_kaggle()
1054
+ if IS_KAGGLE
1043
1055
  else "Jupyter"
1044
- if is_jupyter()
1056
+ if IS_JUPYTER
1045
1057
  else "Docker"
1046
- if is_docker()
1058
+ if IS_DOCKER
1047
1059
  else platform.system()
1048
1060
  )
1049
1061
  TESTS_RUNNING = is_pytest_running() or is_github_action_running()
@@ -12,10 +12,7 @@ def on_pretrain_routine_end(trainer):
12
12
  session = getattr(trainer, "hub_session", None)
13
13
  if session:
14
14
  # Start timer for upload rate limit
15
- session.timers = {
16
- "metrics": time(),
17
- "ckpt": time(),
18
- } # start timer on session.rate_limit
15
+ session.timers = {"metrics": time(), "ckpt": time()} # start timer on session.rate_limit
19
16
 
20
17
 
21
18
  def on_fit_epoch_end(trainer):
@@ -58,7 +58,7 @@ def on_pretrain_routine_end(trainer):
58
58
  MLFLOW_TRACKING_URI: The URI for MLflow tracking. If not set, defaults to 'runs/mlflow'.
59
59
  MLFLOW_EXPERIMENT_NAME: The name of the MLflow experiment. If not set, defaults to trainer.args.project.
60
60
  MLFLOW_RUN: The name of the MLflow run. If not set, defaults to trainer.args.name.
61
- MLFLOW_KEEP_RUN_ACTIVE: Boolean indicating whether to keep the MLflow run active after the end of the training phase.
61
+ MLFLOW_KEEP_RUN_ACTIVE: Boolean indicating whether to keep the MLflow run active after the end of training.
62
62
  """
63
63
  global mlflow
64
64
 
@@ -15,6 +15,7 @@ try:
15
15
  # Imports below only required if TensorBoard enabled
16
16
  import warnings
17
17
  from copy import deepcopy
18
+
18
19
  from ultralytics.utils.torch_utils import de_parallel, torch
19
20
 
20
21
  except (ImportError, AssertionError, TypeError, AttributeError):
@@ -22,10 +22,15 @@ import torch
22
22
  from ultralytics.utils import (
23
23
  ASSETS,
24
24
  AUTOINSTALL,
25
+ IS_COLAB,
26
+ IS_DOCKER,
27
+ IS_JUPYTER,
28
+ IS_KAGGLE,
29
+ IS_PIP_PACKAGE,
25
30
  LINUX,
26
31
  LOGGER,
27
- PYTHON_VERSION,
28
32
  ONLINE,
33
+ PYTHON_VERSION,
29
34
  ROOT,
30
35
  TORCHVISION_VERSION,
31
36
  USER_CONFIG_DIR,
@@ -37,12 +42,7 @@ from ultralytics.utils import (
37
42
  colorstr,
38
43
  downloads,
39
44
  emojis,
40
- is_colab,
41
- is_docker,
42
45
  is_github_action_running,
43
- is_jupyter,
44
- is_kaggle,
45
- is_pip_package,
46
46
  url2file,
47
47
  )
48
48
 
@@ -277,7 +277,7 @@ def check_pip_update_available():
277
277
  Returns:
278
278
  (bool): True if an update is available, False otherwise.
279
279
  """
280
- if ONLINE and is_pip_package():
280
+ if ONLINE and IS_PIP_PACKAGE:
281
281
  with contextlib.suppress(Exception):
282
282
  from ultralytics import __version__
283
283
 
@@ -528,7 +528,7 @@ def check_imshow(warn=False):
528
528
  """Check if environment supports image displays."""
529
529
  try:
530
530
  if LINUX:
531
- assert "DISPLAY" in os.environ and not is_docker() and not is_colab() and not is_kaggle()
531
+ assert "DISPLAY" in os.environ and not IS_DOCKER and not IS_COLAB and not IS_KAGGLE
532
532
  cv2.imshow("test", np.zeros((8, 8, 3), dtype=np.uint8)) # show a small 8-pixel image
533
533
  cv2.waitKey(1)
534
534
  cv2.destroyAllWindows()
@@ -546,10 +546,10 @@ def check_yolo(verbose=True, device=""):
546
546
 
547
547
  from ultralytics.utils.torch_utils import select_device
548
548
 
549
- if is_jupyter():
549
+ if IS_JUPYTER:
550
550
  if check_requirements("wandb", install=False):
551
551
  os.system("pip uninstall -y wandb") # uninstall wandb: unwanted account creation prompt with infinite hang
552
- if is_colab():
552
+ if IS_COLAB:
553
553
  shutil.rmtree("sample_data", ignore_errors=True) # remove colab /sample_data directory
554
554
 
555
555
  if verbose:
@@ -574,7 +574,7 @@ def collect_system_info():
574
574
 
575
575
  import psutil
576
576
 
577
- from ultralytics.utils import ENVIRONMENT, is_git_dir
577
+ from ultralytics.utils import ENVIRONMENT, IS_GIT_DIR
578
578
  from ultralytics.utils.torch_utils import get_cpu_info
579
579
 
580
580
  ram_info = psutil.virtual_memory().total / (1024**3) # Convert bytes to GB
@@ -583,7 +583,7 @@ def collect_system_info():
583
583
  f"\n{'OS':<20}{platform.platform()}\n"
584
584
  f"{'Environment':<20}{ENVIRONMENT}\n"
585
585
  f"{'Python':<20}{PYTHON_VERSION}\n"
586
- f"{'Install':<20}{'git' if is_git_dir() else 'pip' if is_pip_package() else 'other'}\n"
586
+ f"{'Install':<20}{'git' if IS_GIT_DIR else 'pip' if IS_PIP_PACKAGE else 'other'}\n"
587
587
  f"{'RAM':<20}{ram_info:.2f} GB\n"
588
588
  f"{'CPU':<20}{get_cpu_info()}\n"
589
589
  f"{'CUDA':<20}{torch.version.cuda if torch and torch.cuda.is_available() else None}\n"
@@ -21,8 +21,8 @@ from ultralytics.utils import (
21
21
  LOGGER,
22
22
  PYTHON_VERSION,
23
23
  TORCHVISION_VERSION,
24
- colorstr,
25
24
  __version__,
25
+ colorstr,
26
26
  )
27
27
  from ultralytics.utils.checks import check_version
28
28
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.1.43
3
+ Version: 8.1.45
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=FBbnfpAzM9BX-E4VHPNi41TwzSDIIB8hLVnS2DWnkHk,625
1
+ ultralytics/__init__.py,sha256=woyBAPoocn695Wx62yPcQtYwJzPlTyYdUxF6Xea4FIY,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,39 +56,39 @@ 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=o2hmQS0Y8lustycENbA2lTJcokTDYPM_HIs_4yfbW5M,57476
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=ttwKxpk6La4t4WoiXEojzYHiRJVCOLUdDB6uND3IsYc,22199
72
- ultralytics/data/loaders.py,sha256=2GOYHELK9nh7RlIcqUqg3kuRgWUvXT43mI2P_XOtxCA,23146
67
+ ultralytics/data/augment.py,sha256=M9ixb4z2N0acBH8euunz6pgHg14gwznxRHO6HZhbghs,57476
68
+ ultralytics/data/base.py,sha256=x7OEYorkCbPuymvZoCHXXaK9Y65DBs73ugMxSJJdUtE,13480
69
+ ultralytics/data/build.py,sha256=Bq6hh3GgmvBx9LSMYUEj0t6COu3Xmc45zmF9QZbTkpM,7265
70
+ ultralytics/data/converter.py,sha256=NLDiV67RshbKQnMJUiQQF11boVzEqgi2Hz39nKVAI4U,17528
71
+ ultralytics/data/dataset.py,sha256=6brszmSI4cfLEK8-JLuJzotka8AxZL8ifXwF-qgAf5c,22200
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=71_XkMopa03Lxakc3JdUaeZWQ6HMbLvvPnQoZL1HjV0,18718
76
+ ultralytics/data/explorer/explorer.py,sha256=oSXQ0NPSfwvlcVS7emZ9jB4QcWRLAqeZg-49_hB0prg,18710
77
77
  ultralytics/data/explorer/utils.py,sha256=EvvukQiQUTBrsZznmMnyEX2EqTuwZo_Geyc8yfi8NIA,7085
78
78
  ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
79
79
  ultralytics/data/explorer/gui/dash.py,sha256=2oAbNroR2lfS45v53M1sRqZklLXbbj6qXqNxvplulC0,10087
80
80
  ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
81
81
  ultralytics/engine/exporter.py,sha256=NeJEldYo37wMlhMQGQxn8qRhYN1ZYOmuEnbFwCk_LNM,53835
82
- ultralytics/engine/model.py,sha256=tCU9z_cQhdJTwUUce3a7rSeCWkUgJO4RfHNT29pB41E,39829
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=CBcFxiNo4opu6RSY_-zYwZiI79TY-l2BZsO5jtuTokw,34932
86
- ultralytics/engine/tuner.py,sha256=zttHrQkvXuUVTB7jmM4Z85GgIsQ2hjpW9YrMccrQ4wo,11829
85
+ ultralytics/engine/trainer.py,sha256=Vm41LwIkM7SECJEXEToH7NNc9AS1vKrTu1gLkZKdPEo,34933
86
+ ultralytics/engine/tuner.py,sha256=iZrgMmXSDpfuDu4bdFRflmAsscys2-8W8qAGxSyOVJE,11844
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
@@ -104,23 +104,23 @@ 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=iUvpv7v2bDnWWqqJU0_Up_1bdU2054PV0h72-PmMitk,23751
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
126
  ultralytics/models/yolo/classify/train.py,sha256=9CRqtLkePo4ZkAzMTxDY4ztrNaWE34qnytYymfCEBzs,6888
@@ -128,11 +128,11 @@ ultralytics/models/yolo/classify/val.py,sha256=EP_hjRExXgdI4xojTKvj_YeNdaz_i2CoU
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,36 +143,36 @@ 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
159
  ultralytics/solutions/heatmap.py,sha256=IeUkGRYbO8I7Sca0I2kvxh8dILy1gehmbIYolFF-ppc,12276
160
- ultralytics/solutions/object_counter.py,sha256=zi-p3yi3tIH6ydlFF6xuSS_Tw42b7Kc54aGzpXb6iH4,11557
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=xezg5RbMpI85AOtwMt1QoHEHCmygHa1FHpytN6TxdKU,38013
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
174
  ultralytics/utils/benchmarks.py,sha256=BNG0sO34_mu3fIEfMn8j-QzQ9Da6K1KujO-CxDkvsOM,18325
175
- ultralytics/utils/checks.py,sha256=R902JZALsOonXxqk4z_6so6YEV7vymTdr0ki7zKFDoY,27987
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
@@ -184,7 +184,7 @@ ultralytics/utils/ops.py,sha256=wZCWx7dm5GJNIJHyZaFJRetGcQ7prdv-anplqq9figQ,3330
184
184
  ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
185
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=LAUu146TOA1x4dW6y3KIJE_5HnAMrJVI9vk6K86z4eM,25848
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
@@ -192,15 +192,15 @@ ultralytics/utils/callbacks/base.py,sha256=sOe3JvyBFmRwVZ8_Q03u7JwTeOOm9CI4s9-UE
192
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
199
+ ultralytics/utils/callbacks/tensorboard.py,sha256=Z1veCVcn9THPhdplWuIzwlsW2yF7y-On9IZIk3khM0Y,4135
200
200
  ultralytics/utils/callbacks/wb.py,sha256=woCQVuZzqtM5KnwxIibcfM3sFBYojeMPnv11jrRaIQA,6674
201
- ultralytics-8.1.43.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
202
- ultralytics-8.1.43.dist-info/METADATA,sha256=9iXx3cJblunu8OJbUhO90LxptFAalkG7GjfSCbEuWPk,40416
203
- ultralytics-8.1.43.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
204
- ultralytics-8.1.43.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
205
- ultralytics-8.1.43.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
206
- ultralytics-8.1.43.dist-info/RECORD,,
201
+ ultralytics-8.1.45.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
202
+ ultralytics-8.1.45.dist-info/METADATA,sha256=Gmkmhjv04-HB9IObUIKO6RxdJ-ilHIzHsMeX0dbelmk,40416
203
+ ultralytics-8.1.45.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
204
+ ultralytics-8.1.45.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
205
+ ultralytics-8.1.45.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
206
+ ultralytics-8.1.45.dist-info/RECORD,,