dgenerate-ultralytics-headless 8.4.4__py3-none-any.whl → 8.4.6__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.4.4
3
+ Version: 8.4.6
4
4
  Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -74,7 +74,6 @@ Requires-Dist: wandb; extra == "logging"
74
74
  Requires-Dist: tensorboard; extra == "logging"
75
75
  Requires-Dist: mlflow; extra == "logging"
76
76
  Provides-Extra: extra
77
- Requires-Dist: hub-sdk>=0.0.12; extra == "extra"
78
77
  Requires-Dist: ipython; extra == "extra"
79
78
  Requires-Dist: albumentations>=1.4.6; extra == "extra"
80
79
  Requires-Dist: faster-coco-eval>=1.6.7; extra == "extra"
@@ -135,7 +134,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
135
134
  <br>
136
135
  <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
137
136
  <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
138
- <a href="https://www.kaggle.com/models/ultralytics/yolo11"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
137
+ <a href="https://www.kaggle.com/models/ultralytics/yolo26"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
139
138
  <a href="https://mybinder.org/v2/gh/ultralytics/ultralytics/HEAD?labpath=examples%2Ftutorial.ipynb"><img src="https://mybinder.org/badge_logo.svg" alt="Open Ultralytics In Binder"></a>
140
139
  </div>
141
140
  </div>
@@ -1,4 +1,4 @@
1
- dgenerate_ultralytics_headless-8.4.4.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
1
+ dgenerate_ultralytics_headless-8.4.6.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
2
2
  tests/__init__.py,sha256=hfUXxYLJB3846OCzWV94ZKEZsi8vq9Pqrdd2mMgjjck,804
3
3
  tests/conftest.py,sha256=rlKyDuOC_3ptXrWS8Q19bNEGOupUmYXHj3nB6o1GBGY,2318
4
4
  tests/test_cli.py,sha256=GhIFHi-_WIJpDgoGNRi0DnjbfwP1wHbklBMnkCM-P_4,5464
@@ -8,7 +8,7 @@ tests/test_exports.py,sha256=Toy4u-4bsoyAbzNhc9kbMuKqvMKywZxNj5jlFNTzFWs,14670
8
8
  tests/test_integrations.py,sha256=FjvTGjXm3bvYHK3_obgObhC5SzHCTzw4aOJV9Hh08jQ,6220
9
9
  tests/test_python.py,sha256=np6on3Sa0NNi5pquvilekjKxxedAJMpLOQEthGaIalQ,29284
10
10
  tests/test_solutions.py,sha256=1tRlM72YciE42Nk9v83gsXOD5RSx9GSWVsKGhH7-HxE,14122
11
- ultralytics/__init__.py,sha256=sJYUdz1Qx-pwzIz34CD4B1PgspkWiGojpY2uQ6D5lE0,1300
11
+ ultralytics/__init__.py,sha256=yZzEzew7ii7HxNyAM12U7UZkIlXh8J_cphVWSfLxRug,1300
12
12
  ultralytics/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
13
13
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
14
14
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
@@ -136,7 +136,7 @@ ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QU
136
136
  ultralytics/engine/exporter.py,sha256=n_DtRhD0jT9sTFb8oQ_TYdQYTQJbsQzwqdISwR-mQY4,73330
137
137
  ultralytics/engine/model.py,sha256=euDHUy7J5vVBvS_d-KbGZd_0BP5bF6Y3cTQ7VXtwZ4k,53210
138
138
  ultralytics/engine/predictor.py,sha256=tXrHSTHJ-rDQ3lrPW9P5_ei_ewTwbY2sji6MExybJ28,22838
139
- ultralytics/engine/results.py,sha256=uvD7WqaePkuYbcf-iFqh3DIy5_ZSyHeDiKIzY5VjePM,68181
139
+ ultralytics/engine/results.py,sha256=Lg-Ke8TU6qaxu0wQtOH26unORj4FRYxd8RL0VxV74Zw,68333
140
140
  ultralytics/engine/trainer.py,sha256=lvYPaEkaGXuGnH8j19aMIB2BML3b0LhEqt-HyZ_I6nU,47219
141
141
  ultralytics/engine/tuner.py,sha256=F4fyQaC5_GT74TULRO0VhzTv2S_a54cZDc3FjFoqaHE,21840
142
142
  ultralytics/engine/validator.py,sha256=DiKsygbNJdRdwXoKoYOJA6bP_T7vMW3Syj_Qc_l7xTM,17761
@@ -256,7 +256,7 @@ ultralytics/solutions/templates/similarity-search.html,sha256=mYuJI8H84cmu4kwPq2
256
256
  ultralytics/trackers/__init__.py,sha256=n3BOO0TR-Sz5ANDYOkKDipM9nSHOePMEwqafbk-YEPs,255
257
257
  ultralytics/trackers/basetrack.py,sha256=F-EW29F9E8GwXr5vzwLqW2rNwItu4KIx2MKce5pQXxI,4374
258
258
  ultralytics/trackers/bot_sort.py,sha256=WImn-BOzGrK9dgMFfMPzKFE5awhXEB2VOi7AbOf_Cdc,11831
259
- ultralytics/trackers/byte_tracker.py,sha256=Twmbe3EyqnIds211M84vtuuM1WgHXDykjTMeiAJZzC0,21117
259
+ ultralytics/trackers/byte_tracker.py,sha256=Ye8cwEPAitVpUsz4Yc8YXj9TEwyfk4zwitSKkIuKIu8,21061
260
260
  ultralytics/trackers/track.py,sha256=xte5lkVBbOnrZ_tVLsHUmzvtNjbdksTVeSFQtLCLt_M,4742
261
261
  ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
262
262
  ultralytics/trackers/utils/gmc.py,sha256=cvvhNXOhylVQti4pJQSNPx4yPqhhhw1k2yzY0JFl7Zo,13760
@@ -268,7 +268,7 @@ ultralytics/utils/autodevice.py,sha256=rXlPuo-iX-vZ4BabmMGEGh9Uxpau4R7Zlt1KCo9Xf
268
268
  ultralytics/utils/benchmarks.py,sha256=f4RykrjO1oEBxrTbH6qM_9vMxYKXO9F0ruFcM4xKF7A,32293
269
269
  ultralytics/utils/checks.py,sha256=NWc0J-Nk4qHSVEXFDWfJkI7IjTNHFXajKjsSodDroBk,39411
270
270
  ultralytics/utils/cpu.py,sha256=OksKOlX93AsbSsFuoYvLXRXgpkOibrZSwQyW6lipt4Q,3493
271
- ultralytics/utils/dist.py,sha256=hOuY1-unhQAY-uWiZw3LWw36d1mqJuYK75NdlwB4oKE,4131
271
+ ultralytics/utils/dist.py,sha256=sktf2a_uh-vLg6piQyiuRJ5JcMggFYmhS8Wepnb88WM,4220
272
272
  ultralytics/utils/downloads.py,sha256=TWXkYwR5hEpVMWL6fbjdywDmZe02WhyL_8YuLVce-uM,23069
273
273
  ultralytics/utils/errors.py,sha256=dUZcTWpbJJHqEuWHM6IbeoJJ4TzA_yHBP8E7tEEpBVs,1388
274
274
  ultralytics/utils/events.py,sha256=6vqs_iSxoXIhQ804sOjApNZmXwNW9FUFtjaHPY8ta10,4665
@@ -295,7 +295,7 @@ ultralytics/utils/callbacks/dvc.py,sha256=YT0Sa5P8Huj8Fn9jM2P6MYzUY3PIVxsa5BInVi
295
295
  ultralytics/utils/callbacks/hub.py,sha256=fVLqqr3ZM6hoYFlVMEeejfq1MWDrkWCskPFOG3HGILQ,4159
296
296
  ultralytics/utils/callbacks/mlflow.py,sha256=wCXjQgdufp9LYujqMzLZOmIOur6kvrApHNeo9dA7t_g,5323
297
297
  ultralytics/utils/callbacks/neptune.py,sha256=_vt3cMwDHCR-LyT3KtRikGpj6AG11oQ-skUUUUdZ74o,4391
298
- ultralytics/utils/callbacks/platform.py,sha256=Ufws7Kp_MHh3jrz-Sx5q1KKQ-l1hoDnLi1_thZJsHPQ,16091
298
+ ultralytics/utils/callbacks/platform.py,sha256=Utc9X3SDEGcvyQLaujQs3IA8UpFvmJcQC6HmLnTV4XA,16202
299
299
  ultralytics/utils/callbacks/raytune.py,sha256=Y0dFyNZVRuFovSh7nkgUIHTQL3xIXOACElgHuYbg_5I,1278
300
300
  ultralytics/utils/callbacks/tensorboard.py,sha256=K7b6KtC7rimfzqFu-NDZ_55Tbd7eC6TckqQdTNPuQ6U,5039
301
301
  ultralytics/utils/callbacks/wb.py,sha256=ghmL3gigOa-z_F54-TzMraKw9MAaYX-Wk4H8dLoRvX8,7705
@@ -303,8 +303,8 @@ ultralytics/utils/export/__init__.py,sha256=Cfh-PwVfTF_lwPp-Ss4wiX4z8Sm1XRPklsqd
303
303
  ultralytics/utils/export/engine.py,sha256=QoXPqnmQn6W5TOUAygOtCG63R9ExDG4-Df6X6W-_Mzo,10470
304
304
  ultralytics/utils/export/imx.py,sha256=VnMDO7c8ezBs91UDoLg9rR0oY8Uc7FujKpbdGxrzV18,13744
305
305
  ultralytics/utils/export/tensorflow.py,sha256=xHEcEM3_VeYctyqkJCpgkqcNie1M8xLqcFKr6uANEEQ,9951
306
- dgenerate_ultralytics_headless-8.4.4.dist-info/METADATA,sha256=wK7cNiOfQHx28uF-HEPMHSoxLT0azRn5P4dNsYFWyq4,40118
307
- dgenerate_ultralytics_headless-8.4.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
308
- dgenerate_ultralytics_headless-8.4.4.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
309
- dgenerate_ultralytics_headless-8.4.4.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
310
- dgenerate_ultralytics_headless-8.4.4.dist-info/RECORD,,
306
+ dgenerate_ultralytics_headless-8.4.6.dist-info/METADATA,sha256=e-O8HW66l7oBMQeck4HfTphGSArmeqC3dzfVLU5PI9g,40069
307
+ dgenerate_ultralytics_headless-8.4.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
308
+ dgenerate_ultralytics_headless-8.4.6.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
309
+ dgenerate_ultralytics_headless-8.4.6.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
310
+ dgenerate_ultralytics_headless-8.4.6.dist-info/RECORD,,
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.4.4"
3
+ __version__ = "8.4.6"
4
4
 
5
5
  import importlib
6
6
  import os
@@ -803,12 +803,17 @@ class Results(SimpleClass, DataExportMixin):
803
803
  "y": (self.masks.xy[i][:, 1] / h).round(decimals).tolist(),
804
804
  }
805
805
  if self.keypoints is not None:
806
- x, y, visible = self.keypoints[i].data[0].cpu().unbind(dim=1) # torch Tensor
806
+ kpt = self.keypoints[i]
807
+ if kpt.has_visible:
808
+ x, y, visible = kpt.data[0].cpu().unbind(dim=1)
809
+ else:
810
+ x, y = kpt.data[0].cpu().unbind(dim=1)
807
811
  result["keypoints"] = {
808
- "x": (x / w).numpy().round(decimals).tolist(), # decimals named argument required
812
+ "x": (x / w).numpy().round(decimals).tolist(),
809
813
  "y": (y / h).numpy().round(decimals).tolist(),
810
- "visible": visible.numpy().round(decimals).tolist(),
811
814
  }
815
+ if kpt.has_visible:
816
+ result["keypoints"]["visible"] = visible.numpy().round(decimals).tolist()
812
817
  results.append(result)
813
818
 
814
819
  return results
@@ -270,9 +270,9 @@ class BYTETracker:
270
270
  args (Namespace): Command-line arguments containing tracking parameters.
271
271
  frame_rate (int): Frame rate of the video sequence.
272
272
  """
273
- self.tracked_stracks = [] # type: list[STrack]
274
- self.lost_stracks = [] # type: list[STrack]
275
- self.removed_stracks = [] # type: list[STrack]
273
+ self.tracked_stracks: list[STrack] = []
274
+ self.lost_stracks: list[STrack] = []
275
+ self.removed_stracks: list[STrack] = []
276
276
 
277
277
  self.frame_id = 0
278
278
  self.args = args
@@ -304,7 +304,7 @@ class BYTETracker:
304
304
  detections = self.init_track(results, feats_keep)
305
305
  # Add newly detected tracklets to tracked_stracks
306
306
  unconfirmed = []
307
- tracked_stracks = [] # type: list[STrack]
307
+ tracked_stracks: list[STrack] = []
308
308
  for track in self.tracked_stracks:
309
309
  if not track.is_activated:
310
310
  unconfirmed.append(track)
@@ -423,9 +423,9 @@ class BYTETracker:
423
423
 
424
424
  def reset(self):
425
425
  """Reset the tracker by clearing all tracked, lost, and removed tracks and reinitializing the Kalman filter."""
426
- self.tracked_stracks = [] # type: list[STrack]
427
- self.lost_stracks = [] # type: list[STrack]
428
- self.removed_stracks = [] # type: list[STrack]
426
+ self.tracked_stracks: list[STrack] = []
427
+ self.lost_stracks: list[STrack] = []
428
+ self.removed_stracks: list[STrack] = []
429
429
  self.frame_id = 0
430
430
  self.kalman_filter = self.get_kalmanfilter()
431
431
  self.reset_id()
@@ -89,7 +89,8 @@ def resolve_platform_uri(uri, hard=True):
89
89
  raise ValueError(f"Invalid platform URI: {uri}. Use ul://user/datasets/name or ul://user/project/model")
90
90
 
91
91
  try:
92
- r = requests.head(url, headers=headers, allow_redirects=False, timeout=30)
92
+ timeout = 3600 if "/datasets/" in url else 90 # NDJSON generation can be slow for large datasets
93
+ r = requests.head(url, headers=headers, allow_redirects=False, timeout=timeout)
93
94
 
94
95
  # Handle redirect responses (301, 302, 303, 307, 308)
95
96
  if 300 <= r.status_code < 400 and "location" in r.headers:
ultralytics/utils/dist.py CHANGED
@@ -49,6 +49,7 @@ def generate_ddp_file(trainer):
49
49
 
50
50
  content = f"""
51
51
  # Ultralytics Multi-GPU training temp file (should be automatically deleted after use)
52
+ from pathlib import Path, PosixPath # For model arguments stored as Path instead of str
52
53
  overrides = {vars(trainer.args)}
53
54
 
54
55
  if __name__ == "__main__":