ultralytics 8.3.72__py3-none-any.whl → 8.3.73__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.
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.72"
3
+ __version__ = "8.3.73"
4
4
 
5
5
  import os
6
6
 
@@ -967,7 +967,7 @@ class Results(SimpleClass):
967
967
 
968
968
  # Convert results to a list of dictionaries
969
969
  data = self.summary(normalize=normalize, decimals=decimals)
970
- if not data:
970
+ if len(data) == 0:
971
971
  LOGGER.warning("⚠️ No results to save to SQL. Results dict is empty")
972
972
  return
973
973
 
@@ -977,31 +977,20 @@ class Results(SimpleClass):
977
977
 
978
978
  # Create table if it doesn't exist
979
979
  columns = (
980
- "id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, "
981
- "box TEXT, masks TEXT, kpts TEXT, obb TEXT"
980
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, box TEXT, masks TEXT, kpts TEXT"
982
981
  )
983
982
  cursor.execute(f"CREATE TABLE IF NOT EXISTS {table_name} ({columns})")
984
983
 
985
984
  # Insert data into the table
986
- for i, item in enumerate(data):
987
- detect, obb = None, None # necessary to reinit these variables inside for loop to avoid duplication
988
- class_name = item.get("name")
989
- box = item.get("box", {})
990
- # Serialize the box as JSON for 'detect' and 'obb' based on key presence
991
- if all(key in box for key in ["x1", "y1", "x2", "y2"]) and not any(key in box for key in ["x3", "x4"]):
992
- detect = json.dumps(box)
993
- if all(key in box for key in ["x1", "y1", "x2", "y2", "x3", "x4"]):
994
- obb = json.dumps(box)
995
-
985
+ for item in data:
996
986
  cursor.execute(
997
- f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts, obb) VALUES (?, ?, ?, ?, ?, ?)",
987
+ f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts) VALUES (?, ?, ?, ?, ?)",
998
988
  (
999
- class_name,
989
+ item.get("name"),
1000
990
  item.get("confidence"),
1001
- detect,
1002
- json.dumps(item.get("segments", {}).get("x", [])),
1003
- json.dumps(item.get("keypoints", {}).get("x", [])),
1004
- obb,
991
+ json.dumps(item.get("box", {})),
992
+ json.dumps(item.get("segments", {})),
993
+ json.dumps(item.get("keypoints", {})),
1005
994
  ),
1006
995
  )
1007
996
 
@@ -131,7 +131,7 @@ def check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0):
131
131
  floor (int): Minimum allowed value for image size.
132
132
 
133
133
  Returns:
134
- (List[int]): Updated image size.
134
+ (List[int] | int): Updated image size.
135
135
  """
136
136
  # Convert stride to integer if it is a tensor
137
137
  stride = int(stride.max() if isinstance(stride, torch.Tensor) else stride)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.72
3
+ Version: 8.3.73
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -54,7 +54,6 @@ Requires-Dist: pytest; extra == "dev"
54
54
  Requires-Dist: pytest-cov; extra == "dev"
55
55
  Requires-Dist: coverage[toml]; extra == "dev"
56
56
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
57
- Requires-Dist: beautifulsoup4<=4.12.3; extra == "dev"
58
57
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
59
58
  Requires-Dist: mkdocstrings[python]; extra == "dev"
60
59
  Requires-Dist: mkdocs-redirects; extra == "dev"
@@ -7,7 +7,7 @@ tests/test_exports.py,sha256=T_z_NUS9URQXv83k5XNLHTuksJ8srtzbZnWuiiQWM98,9260
7
7
  tests/test_integrations.py,sha256=p3DMnnPMKsV0Qm82JVJUIY1UZ67xRgF9E8AaL76TEHE,6154
8
8
  tests/test_python.py,sha256=tW-EFJC2rjl_DvAa8khXGWYdypseQjrLjGHhe2p9r9A,23238
9
9
  tests/test_solutions.py,sha256=aY0G3vNzXGCENG9FD76MfUp7jgzeESPsUvbvQYBUvH0,4205
10
- ultralytics/__init__.py,sha256=y9BHqgcVeskz2VP0BY3sracXVHaR4Rf6Z7qXeSKo3OA,709
10
+ ultralytics/__init__.py,sha256=w9xoNgzXsQ-vzUz6EMJ1sJ21yzeJxXwKanndE7Nt-1Q,709
11
11
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
12
12
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
13
13
  ultralytics/cfg/__init__.py,sha256=qP44HnFP4QcC5FQz29A-EGTuwdtxXAzPvw_IvCVmiqA,39771
@@ -105,7 +105,7 @@ ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QU
105
105
  ultralytics/engine/exporter.py,sha256=14zD5klVbAqv1jh2QPmpDcGflBUlLurRhYGM-wH9hFI,76780
106
106
  ultralytics/engine/model.py,sha256=SbRt27DTUmq8S-yzog4o5EDcT4qX08EF7A8fyLzv4kQ,53275
107
107
  ultralytics/engine/predictor.py,sha256=jiYDAjupOlRUpPvw9tu7or9PjXtLm-YCRiawANtWxj0,17881
108
- ultralytics/engine/results.py,sha256=OkXecfudYauisFxJocr3TXJgUb16vYxr_TL2u-Aa0rk,78710
108
+ ultralytics/engine/results.py,sha256=fw8KG7rr5_9GFiqSlOljfNtG8-7NNVzG-MRiIpOZ9hg,78095
109
109
  ultralytics/engine/trainer.py,sha256=ZGAc6C1_LUBHDdZlr6wT6sbMtDzWa5rr7M8QVlXpBLs,37362
110
110
  ultralytics/engine/tuner.py,sha256=EUlTs7KJQ2RVABm8pihr_14M_Z2kGSzJaWH-Y9TJYDw,11976
111
111
  ultralytics/engine/validator.py,sha256=r27X8HGeDEwq7V5sFjEQH_3EnP1CyG-HcOLpFABUisU,15034
@@ -207,7 +207,7 @@ ultralytics/trackers/utils/matching.py,sha256=64PKHGoETwXhuZ9udE217hbjJHygLOPaYA
207
207
  ultralytics/utils/__init__.py,sha256=Ahn7Vn60HIquaBZwLWfWH4bKnm0JcpJXYxnOnY-RH-s,50010
208
208
  ultralytics/utils/autobatch.py,sha256=zc81HlAMArPASEbExty0E_zpITF8PVwin7w-xBFFZ5w,5048
209
209
  ultralytics/utils/benchmarks.py,sha256=Jn29MQ3A3CjGjY7IQKo0odY7HGmyaIm7IwckMRK345w,26718
210
- ultralytics/utils/checks.py,sha256=uCSkC3HCjynrfyQQ3uaeX-60USRjALm2NpxtS7rWwKc,31005
210
+ ultralytics/utils/checks.py,sha256=Hz7yLxQHqzYJkL3HmGy6nhHLG2eYjwH5B0BK5GXV9a4,31011
211
211
  ultralytics/utils/dist.py,sha256=fuiJQEnyyL-SighlI3hUlZPaaSreUl4Q39snF6OhQtI,2386
212
212
  ultralytics/utils/downloads.py,sha256=aUESyJOE2d7mJwbGECHWLR3RF8HVQPSwNH0cfmLGgdI,21999
213
213
  ultralytics/utils/errors.py,sha256=sXKDEd8ws3L-yIfG_-P_h86axbm37sJNha7kFBJbQMQ,844
@@ -233,9 +233,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=waZ_bRu0-qBKujTLuqonC2gx2DkgBuVnfq
233
233
  ultralytics/utils/callbacks/raytune.py,sha256=TbuZlDb721aIkh-nMozZcP2g_ttUh2cG5LUaXmept6g,728
234
234
  ultralytics/utils/callbacks/tensorboard.py,sha256=JHOEVlNQ5dYJPd4Z-EvqbXowuK5uA0p8wPgyyaIUQs0,4194
235
235
  ultralytics/utils/callbacks/wb.py,sha256=ayhT2y62AcSOacnawshATU0rWrlSFQ77mrGgBdRl3W4,7086
236
- ultralytics-8.3.72.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
237
- ultralytics-8.3.72.dist-info/METADATA,sha256=ab2Cc23pNsmH8lArrPzXbsRS_dYxCWmhR2dBLLl0kxI,35212
238
- ultralytics-8.3.72.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
239
- ultralytics-8.3.72.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
240
- ultralytics-8.3.72.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
241
- ultralytics-8.3.72.dist-info/RECORD,,
236
+ ultralytics-8.3.73.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
237
+ ultralytics-8.3.73.dist-info/METADATA,sha256=JjfVDY1CmYikQNDwKsNkGsErWwXrcTPhJKjHIDu013w,35158
238
+ ultralytics-8.3.73.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
239
+ ultralytics-8.3.73.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
240
+ ultralytics-8.3.73.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
241
+ ultralytics-8.3.73.dist-info/RECORD,,