ultralytics 8.1.35__py3-none-any.whl → 8.1.37__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.

ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.1.35"
3
+ __version__ = "8.1.37"
4
4
 
5
5
  from ultralytics.data.explorer.explorer import Explorer
6
6
  from ultralytics.models import RTDETR, SAM, YOLO, YOLOWorld
@@ -54,8 +54,9 @@ TASK2METRIC = {
54
54
  "obb": "metrics/mAP50-95(B)",
55
55
  }
56
56
 
57
+ ARGV = sys.argv or ["", ""] # sometimes sys.argv = []
57
58
  CLI_HELP_MSG = f"""
58
- Arguments received: {str(['yolo'] + sys.argv[1:])}. Ultralytics 'yolo' commands use the following syntax:
59
+ Arguments received: {str(['yolo'] + ARGV[1:])}. Ultralytics 'yolo' commands use the following syntax:
59
60
 
60
61
  yolo TASK MODE ARGS
61
62
 
@@ -452,7 +453,7 @@ def entrypoint(debug=""):
452
453
  It uses the package's default cfg and initializes it using the passed overrides.
453
454
  Then it calls the CLI function with the composed cfg
454
455
  """
455
- args = (debug.split(" ") if debug else sys.argv)[1:]
456
+ args = (debug.split(" ") if debug else ARGV)[1:]
456
457
  if not args: # no arguments passed
457
458
  LOGGER.info(CLI_HELP_MSG)
458
459
  return
@@ -1,7 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
3
  import inspect
4
- import sys
5
4
  from pathlib import Path
6
5
  from typing import Union
7
6
 
@@ -11,7 +10,18 @@ import torch
11
10
  from ultralytics.cfg import TASK2DATA, get_cfg, get_save_dir
12
11
  from ultralytics.hub.utils import HUB_WEB_ROOT
13
12
  from ultralytics.nn.tasks import attempt_load_one_weight, guess_model_task, nn, yaml_model_load
14
- from ultralytics.utils import ASSETS, DEFAULT_CFG_DICT, LOGGER, RANK, SETTINGS, callbacks, checks, emojis, yaml_load
13
+ from ultralytics.utils import (
14
+ ARGV,
15
+ ASSETS,
16
+ DEFAULT_CFG_DICT,
17
+ LOGGER,
18
+ RANK,
19
+ SETTINGS,
20
+ callbacks,
21
+ checks,
22
+ emojis,
23
+ yaml_load,
24
+ )
15
25
 
16
26
 
17
27
  class Model(nn.Module):
@@ -421,8 +431,8 @@ class Model(nn.Module):
421
431
  source = ASSETS
422
432
  LOGGER.warning(f"WARNING ⚠️ 'source' is missing. Using 'source={source}'.")
423
433
 
424
- is_cli = (sys.argv[0].endswith("yolo") or sys.argv[0].endswith("ultralytics")) and any(
425
- x in sys.argv for x in ("predict", "track", "mode=predict", "mode=track")
434
+ is_cli = (ARGV[0].endswith("yolo") or ARGV[0].endswith("ultralytics")) and any(
435
+ x in ARGV for x in ("predict", "track", "mode=predict", "mode=track")
426
436
  )
427
437
 
428
438
  custom = {"conf": 0.25, "batch": 1, "save": is_cli, "mode": "predict"} # method defaults
@@ -421,7 +421,7 @@ class BaseTrainer:
421
421
  self.lr = {f"lr/pg{ir}": x["lr"] for ir, x in enumerate(self.optimizer.param_groups)} # for loggers
422
422
  self.run_callbacks("on_train_epoch_end")
423
423
  if RANK in (-1, 0):
424
- final_epoch = epoch + 1 == self.epochs
424
+ final_epoch = epoch + 1 >= self.epochs
425
425
  self.ema.update_attr(self.model, include=["yaml", "nc", "args", "names", "stride", "class_weights"])
426
426
 
427
427
  # Validation
ultralytics/hub/utils.py CHANGED
@@ -3,7 +3,6 @@
3
3
  import os
4
4
  import platform
5
5
  import random
6
- import sys
7
6
  import threading
8
7
  import time
9
8
  from pathlib import Path
@@ -11,6 +10,7 @@ from pathlib import Path
11
10
  import requests
12
11
 
13
12
  from ultralytics.utils import (
13
+ ARGV,
14
14
  ENVIRONMENT,
15
15
  LOGGER,
16
16
  ONLINE,
@@ -188,7 +188,7 @@ class Events:
188
188
  self.rate_limit = 60.0 # rate limit (seconds)
189
189
  self.t = 0.0 # rate limit timer (seconds)
190
190
  self.metadata = {
191
- "cli": Path(sys.argv[0]).name == "yolo",
191
+ "cli": Path(ARGV[0]).name == "yolo",
192
192
  "install": "git" if is_git_dir() else "pip" if is_pip_package() else "other",
193
193
  "python": ".".join(platform.python_version_tuple()[:2]), # i.e. 3.10
194
194
  "version": __version__,
@@ -140,7 +140,8 @@ class AutoBackend(nn.Module):
140
140
  # In-memory PyTorch model
141
141
  if nn_module:
142
142
  model = weights.to(device)
143
- model = model.fuse(verbose=verbose) if fuse else model
143
+ if fuse:
144
+ model = model.fuse(verbose=verbose)
144
145
  if hasattr(model, "kpt_shape"):
145
146
  kpt_shape = model.kpt_shape # pose-only
146
147
  stride = max(int(model.stride.max()), 32) # model stride
@@ -30,6 +30,7 @@ RANK = int(os.getenv("RANK", -1))
30
30
  LOCAL_RANK = int(os.getenv("LOCAL_RANK", -1)) # https://pytorch.org/docs/stable/elastic/run.html
31
31
 
32
32
  # Other Constants
33
+ ARGV = sys.argv or ["", ""] # sometimes sys.argv = []
33
34
  FILE = Path(__file__).resolve()
34
35
  ROOT = FILE.parents[1] # YOLO
35
36
  ASSETS = ROOT / "assets" # default images
@@ -522,7 +523,7 @@ def is_pytest_running():
522
523
  Returns:
523
524
  (bool): True if pytest is running, False otherwise.
524
525
  """
525
- return ("PYTEST_CURRENT_TEST" in os.environ) or ("pytest" in sys.modules) or ("pytest" in Path(sys.argv[0]).stem)
526
+ return ("PYTEST_CURRENT_TEST" in os.environ) or ("pytest" in sys.modules) or ("pytest" in Path(ARGV[0]).stem)
526
527
 
527
528
 
528
529
  def is_github_action_running() -> bool:
@@ -869,8 +870,8 @@ def set_sentry():
869
870
  return None # do not send event
870
871
 
871
872
  event["tags"] = {
872
- "sys_argv": sys.argv[0],
873
- "sys_argv_name": Path(sys.argv[0]).name,
873
+ "sys_argv": ARGV[0],
874
+ "sys_argv_name": Path(ARGV[0]).name,
874
875
  "install": "git" if is_git_dir() else "pip" if is_pip_package() else "other",
875
876
  "os": ENVIRONMENT,
876
877
  }
@@ -879,7 +880,7 @@ def set_sentry():
879
880
  if (
880
881
  SETTINGS["sync"]
881
882
  and RANK in (-1, 0)
882
- and Path(sys.argv[0]).name == "yolo"
883
+ and Path(ARGV[0]).name == "yolo"
883
884
  and not TESTS_RUNNING
884
885
  and ONLINE
885
886
  and is_pip_package()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.1.35
3
+ Version: 8.1.37
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,7 +1,7 @@
1
- ultralytics/__init__.py,sha256=-tV3T5buzggdIE9J0ptwDT85T4ju4s8OZPWMs622CdY,625
1
+ ultralytics/__init__.py,sha256=RyhpTnaxAaH_9y3lIY9JathlsdbSsGGQA3LnQxnq5bk,625
2
2
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
3
3
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
4
- ultralytics/cfg/__init__.py,sha256=4DFeQcRmsOUUJtP49MezHhWKlE52mUSHI7bKFglOq4k,21273
4
+ ultralytics/cfg/__init__.py,sha256=uNuNmtOkqZN1F01sGpizmkTL2UmEC1GaUs7rUixEjwk,21320
5
5
  ultralytics/cfg/default.yaml,sha256=zHRtcoaFUp6LSHRFtOzaj1GCLmVHLS1ymNhnIffcWGM,8142
6
6
  ultralytics/cfg/datasets/Argoverse.yaml,sha256=FyeuJT5CHq_9d4hlfAf0kpZlnbUMO0S--UJ1yIqcdKk,3134
7
7
  ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=YDsyFPI6F6-OQXLBM3hOXo3vADYREwZzmMQfJNdpWyM,1193
@@ -76,16 +76,16 @@ ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2
76
76
  ultralytics/data/explorer/gui/dash.py,sha256=a2s8oJKI8kqnWEcIyqCCzvIyvM_uZmfMaxrOdwmiq7k,10044
77
77
  ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
78
78
  ultralytics/engine/exporter.py,sha256=l7CJdjLDPbAhAXPO7VLHQ9J0DZDxB1b-EYF_wfsbPXo,53904
79
- ultralytics/engine/model.py,sha256=uemH3-CTwKTMbbiJnIqtReCNy-5TEK9VD737v3VIqxg,39435
79
+ ultralytics/engine/model.py,sha256=HRZBqIWeMVugHe9-iXHYWVK0HUgb3Hf4xmGDszenKsU,39463
80
80
  ultralytics/engine/predictor.py,sha256=wQRKdWGDTP5A6CS0gTC6U3RPDMhP3QkEzWSPm6eqCkU,17022
81
81
  ultralytics/engine/results.py,sha256=D4wZ9OsmBrEQWCkfOeUn_oagXLqu3SxRZYlpYkDDLH8,30667
82
- ultralytics/engine/trainer.py,sha256=C04cEN9v-kvR2dIIjgAN8dBAx8XSTChlQkDxAxfwTlU,34527
82
+ ultralytics/engine/trainer.py,sha256=sQ82Y4CRr366UdfKLPF0cqFe4V7ubkJYODjvZ9xZog0,34527
83
83
  ultralytics/engine/tuner.py,sha256=zttHrQkvXuUVTB7jmM4Z85GgIsQ2hjpW9YrMccrQ4wo,11829
84
84
  ultralytics/engine/validator.py,sha256=rcmJSGrsAfj-ryQktv6-fe0hAT7Z8CLNhUUUf0VsPYI,14645
85
85
  ultralytics/hub/__init__.py,sha256=U4j-2QPdwSDlxw6RgFYnnJXOoIzLtwke4TkY2A8q4ws,5068
86
86
  ultralytics/hub/auth.py,sha256=hc97pJ01OfI8oQ7uw3ubKbiVCDSGxSGJHoo9W6hrrNw,5403
87
87
  ultralytics/hub/session.py,sha256=kFwufDIY7TeV79DdEQBKYrU5883WxgCrpJoTr1S5QuE,14649
88
- ultralytics/hub/utils.py,sha256=BoqNvi7yLUGrTNVEugFALhJkmpobW87gMVZ2dzDckRk,9734
88
+ ultralytics/hub/utils.py,sha256=tU_MfrT_mwyo0D7ihWe5vwBQYv_mS_U3ys-Zw8aCPa0,9729
89
89
  ultralytics/models/__init__.py,sha256=xrzn2dcLBG6Ujxll8LtlTIblPar2gjNhAwjAQg7u8sk,197
90
90
  ultralytics/models/fastsam/__init__.py,sha256=0dt65jZ_5b7Q-mdXN8MSEkgnFRA0FIwlel_LS2RaOlU,254
91
91
  ultralytics/models/fastsam/model.py,sha256=2b4HEcl798xbPRceXEYTu5YoBe9zJJA4BaVzH1KAM3Q,1054
@@ -139,7 +139,7 @@ ultralytics/models/yolo/segment/predict.py,sha256=xtA0ZZyuh9WVpX7zZFdAeCkWnxhQ30
139
139
  ultralytics/models/yolo/segment/train.py,sha256=aOQpDIptZfKSl9mFa6B-3W3QccMRlmBINBkI9K8-3sQ,2298
140
140
  ultralytics/models/yolo/segment/val.py,sha256=njiF6RWddS-HOWxVvlk5PXRw6UOgEt_HEOZVPF7rruQ,11745
141
141
  ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
142
- ultralytics/nn/autobackend.py,sha256=Z9sDchChAqJ-sSQlUNwoGHTFxFRay1-i76MNUz0qZU8,28678
142
+ ultralytics/nn/autobackend.py,sha256=gMJhT-_mwyGc5ClgmixW56hKwsW6AQUCjLBYfxzFqNU,28684
143
143
  ultralytics/nn/tasks.py,sha256=k6cl1H1hWtQXLxO_s5D6fa_DYyFzIekAMigh3lD36_A,42894
144
144
  ultralytics/nn/modules/__init__.py,sha256=Ga3MDpwX6DeI7VSH8joti5uleP4mgkQGolbe8RLZ2T8,2326
145
145
  ultralytics/nn/modules/block.py,sha256=KTv0HG4mTqnwVxfnu4aKBcGpS5c_gLP-wlz3iAIfIrk,25075
@@ -162,7 +162,7 @@ ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7J
162
162
  ultralytics/trackers/utils/gmc.py,sha256=mXRqtlue1nmQU92TOKNH40R6lYFdUrKCYIbiPH6FIu0,13658
163
163
  ultralytics/trackers/utils/kalman_filter.py,sha256=JN1sAcfJZy8fTZxc8w3jUJnGQDKtgAL__p4nTR6RM2I,15168
164
164
  ultralytics/trackers/utils/matching.py,sha256=c_pthBfu9sWeMVYe-dSecdWcQxUey-mQT2yMVsFH3VQ,5404
165
- ultralytics/utils/__init__.py,sha256=SN7wyoJP8zaDzqUoDIHTyV3tqprIgCTfT738kge0EPI,37500
165
+ ultralytics/utils/__init__.py,sha256=OypNCPSubkIQQQbLn6GNBbyi63MNmzpPar5nJ-VvfKg,37539
166
166
  ultralytics/utils/autobatch.py,sha256=ygZ3f2ByIkcujB89ENcTnGWWnAQw5Pbg6nBuShg-5t4,3863
167
167
  ultralytics/utils/benchmarks.py,sha256=cj_sztcI-hzfvRX8vzfXo4wmQe2CuQUcDHBO9THBbco,18285
168
168
  ultralytics/utils/checks.py,sha256=nzWNEfNci6rKC9x9ZYXRPJtK2vvvI7YKKZHROMUSsb0,27940
@@ -191,9 +191,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
191
191
  ultralytics/utils/callbacks/raytune.py,sha256=6OgGNuC35F29lw8Dl_d0lue4-iBR6dqrBVQnIRQDx4E,632
192
192
  ultralytics/utils/callbacks/tensorboard.py,sha256=hRmWjbqdA4RNaLuSZznuDcpOBW-_-_Ga0u-B8UU-7ZI,4134
193
193
  ultralytics/utils/callbacks/wb.py,sha256=4QI81nHdzgwhXHlmTiRxLqunvkKakLXYUhHTUY1ZeHA,6635
194
- ultralytics-8.1.35.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
195
- ultralytics-8.1.35.dist-info/METADATA,sha256=mmB9YldpAODA-Z-djJN22odastPBfiRw-d-GNuYQ2oU,40330
196
- ultralytics-8.1.35.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
197
- ultralytics-8.1.35.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
198
- ultralytics-8.1.35.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
199
- ultralytics-8.1.35.dist-info/RECORD,,
194
+ ultralytics-8.1.37.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
195
+ ultralytics-8.1.37.dist-info/METADATA,sha256=hO-eP7ouOi5x8EivD0aq2ROQtIoDFZfhuzeEoSEstrs,40330
196
+ ultralytics-8.1.37.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
197
+ ultralytics-8.1.37.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
198
+ ultralytics-8.1.37.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
199
+ ultralytics-8.1.37.dist-info/RECORD,,