ultralytics 8.3.94__py3-none-any.whl → 8.3.96__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.
- tests/test_exports.py +2 -2
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/__init__.py +5 -5
- ultralytics/engine/exporter.py +1 -1
- ultralytics/solutions/queue_management.py +1 -1
- ultralytics/utils/benchmarks.py +2 -2
- ultralytics/utils/checks.py +2 -1
- {ultralytics-8.3.94.dist-info → ultralytics-8.3.96.dist-info}/METADATA +5 -5
- {ultralytics-8.3.94.dist-info → ultralytics-8.3.96.dist-info}/RECORD +13 -13
- {ultralytics-8.3.94.dist-info → ultralytics-8.3.96.dist-info}/WHEEL +1 -1
- {ultralytics-8.3.94.dist-info → ultralytics-8.3.96.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.94.dist-info → ultralytics-8.3.96.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.94.dist-info → ultralytics-8.3.96.dist-info}/top_level.txt +0 -0
tests/test_exports.py
CHANGED
@@ -114,7 +114,7 @@ def test_export_torchscript_matrix(task, dynamic, int8, half, batch, nms):
|
|
114
114
|
@pytest.mark.slow
|
115
115
|
@pytest.mark.skipif(not MACOS, reason="CoreML inference only supported on macOS")
|
116
116
|
@pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
|
117
|
-
@pytest.mark.skipif(checks.
|
117
|
+
@pytest.mark.skipif(checks.IS_PYTHON_3_13, reason="CoreML not supported in Python 3.13")
|
118
118
|
@pytest.mark.parametrize(
|
119
119
|
"task, dynamic, int8, half, batch",
|
120
120
|
[ # generate all combinations except for exclusion cases
|
@@ -165,7 +165,7 @@ def test_export_tflite_matrix(task, dynamic, int8, half, batch, nms):
|
|
165
165
|
@pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
|
166
166
|
@pytest.mark.skipif(WINDOWS, reason="CoreML not supported on Windows") # RuntimeError: BlobWriter not loaded
|
167
167
|
@pytest.mark.skipif(LINUX and ARM64, reason="CoreML not supported on aarch64 Linux")
|
168
|
-
@pytest.mark.skipif(checks.
|
168
|
+
@pytest.mark.skipif(checks.IS_PYTHON_3_13, reason="CoreML not supported in Python 3.13")
|
169
169
|
def test_export_coreml():
|
170
170
|
"""Test YOLO exports to CoreML format, optimized for macOS only."""
|
171
171
|
if MACOS:
|
ultralytics/__init__.py
CHANGED
ultralytics/cfg/__init__.py
CHANGED
@@ -87,13 +87,13 @@ SOLUTIONS_HELP_MSG = f"""
|
|
87
87
|
at https://docs.ultralytics.com/usage/cfg
|
88
88
|
|
89
89
|
1. Call object counting solution
|
90
|
-
yolo solutions count source="path/to/video
|
90
|
+
yolo solutions count source="path/to/video.mp4" region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"
|
91
91
|
|
92
92
|
2. Call heatmaps solution
|
93
93
|
yolo solutions heatmap colormap=cv2.COLORMAP_PARULA model=yolo11n.pt
|
94
94
|
|
95
95
|
3. Call queue management solution
|
96
|
-
yolo solutions queue region=[(20, 400), (1080, 400), (1080, 360), (20, 360)] model=yolo11n.pt
|
96
|
+
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]" model=yolo11n.pt
|
97
97
|
|
98
98
|
4. Call workouts monitoring solution for push-ups
|
99
99
|
yolo solutions workout model=yolo11n-pose.pt kpts=[6, 8, 10]
|
@@ -102,7 +102,7 @@ SOLUTIONS_HELP_MSG = f"""
|
|
102
102
|
yolo solutions analytics analytics_type="pie"
|
103
103
|
|
104
104
|
6. Track objects within specific zones
|
105
|
-
yolo solutions trackzone source="path/to/video
|
105
|
+
yolo solutions trackzone source="path/to/video.mp4" region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"
|
106
106
|
|
107
107
|
7. Streamlit real-time webcam inference GUI
|
108
108
|
yolo streamlit-predict
|
@@ -130,7 +130,7 @@ CLI_HELP_MSG = f"""
|
|
130
130
|
yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128
|
131
131
|
|
132
132
|
5. Ultralytics solutions usage
|
133
|
-
yolo solutions count or in {list(SOLUTION_MAP.keys())[1:-1]} source="path/to/video
|
133
|
+
yolo solutions count or in {list(SOLUTION_MAP.keys())[1:-1]} source="path/to/video.mp4"
|
134
134
|
|
135
135
|
6. Run special commands:
|
136
136
|
yolo help
|
@@ -643,7 +643,7 @@ def handle_yolo_solutions(args: List[str]) -> None:
|
|
643
643
|
>>> handle_yolo_solutions(["count"])
|
644
644
|
|
645
645
|
Run analytics with custom configuration:
|
646
|
-
>>> handle_yolo_solutions(["analytics", "conf=0.25", "source=path/to/video
|
646
|
+
>>> handle_yolo_solutions(["analytics", "conf=0.25", "source=path/to/video.mp4"])
|
647
647
|
|
648
648
|
Run inference with custom configuration, requires Streamlit version 1.29.0 or higher.
|
649
649
|
>>> handle_yolo_solutions(["inference", "model=yolo11n.pt"])
|
ultralytics/engine/exporter.py
CHANGED
@@ -773,7 +773,7 @@ class Exporter:
|
|
773
773
|
def export_coreml(self, prefix=colorstr("CoreML:")):
|
774
774
|
"""YOLO CoreML export."""
|
775
775
|
mlmodel = self.args.format.lower() == "mlmodel" # legacy *.mlmodel export format requested
|
776
|
-
check_requirements("coremltools>=6.0,<=6.2" if mlmodel else "coremltools>=
|
776
|
+
check_requirements("coremltools>=6.0,<=6.2" if mlmodel else "coremltools>=8.0")
|
777
777
|
import coremltools as ct # noqa
|
778
778
|
|
779
779
|
LOGGER.info(f"\n{prefix} starting export with coremltools {ct.__version__}...")
|
@@ -26,7 +26,7 @@ class QueueManager(BaseSolution):
|
|
26
26
|
display_output: Displays the processed output.
|
27
27
|
|
28
28
|
Examples:
|
29
|
-
>>> cap = cv2.VideoCapture("
|
29
|
+
>>> cap = cv2.VideoCapture("path/to/video.mp4")
|
30
30
|
>>> queue_manager = QueueManager(region=[100, 100, 200, 200, 300, 300])
|
31
31
|
>>> while cap.isOpened():
|
32
32
|
>>> success, im0 = cap.read()
|
ultralytics/utils/benchmarks.py
CHANGED
@@ -42,7 +42,7 @@ from ultralytics import YOLO, YOLOWorld
|
|
42
42
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
43
43
|
from ultralytics.engine.exporter import export_formats
|
44
44
|
from ultralytics.utils import ARM64, ASSETS, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
45
|
-
from ultralytics.utils.checks import
|
45
|
+
from ultralytics.utils.checks import IS_PYTHON_3_13, check_imgsz, check_requirements, check_yolo, is_rockchip
|
46
46
|
from ultralytics.utils.downloads import safe_download
|
47
47
|
from ultralytics.utils.files import file_size
|
48
48
|
from ultralytics.utils.torch_utils import get_cpu_info, select_device
|
@@ -119,7 +119,7 @@ def benchmark(
|
|
119
119
|
"CoreML and TF.js export only supported on macOS and non-aarch64 Linux"
|
120
120
|
)
|
121
121
|
if i in {5}: # CoreML
|
122
|
-
assert not
|
122
|
+
assert not IS_PYTHON_3_13, "CoreML not supported on Python 3.13"
|
123
123
|
if i in {6, 7, 8}: # TF SavedModel, TF GraphDef, and TFLite
|
124
124
|
assert not isinstance(model, YOLOWorld), "YOLOWorldv2 TensorFlow exports not supported by onnx2tf yet"
|
125
125
|
if i in {9, 10}: # TF EdgeTPU and TF.js
|
ultralytics/utils/checks.py
CHANGED
@@ -248,7 +248,7 @@ def check_version(
|
|
248
248
|
elif op == "<" and not (c < v):
|
249
249
|
result = False
|
250
250
|
if not result:
|
251
|
-
warning = f"WARNING ⚠️ {name}{
|
251
|
+
warning = f"WARNING ⚠️ {name}{required} is required, but {name}=={current} is currently installed {msg}"
|
252
252
|
if hard:
|
253
253
|
raise ModuleNotFoundError(emojis(warning)) # assert version requirements met
|
254
254
|
if verbose:
|
@@ -891,3 +891,4 @@ check_torchvision() # check torch-torchvision compatibility
|
|
891
891
|
# Define constants
|
892
892
|
IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
|
893
893
|
IS_PYTHON_3_12 = PYTHON_VERSION.startswith("3.12")
|
894
|
+
IS_PYTHON_3_13 = PYTHON_VERSION.startswith("3.13")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.96
|
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>
|
@@ -61,8 +61,8 @@ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
|
|
61
61
|
Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
|
62
62
|
Provides-Extra: export
|
63
63
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
64
|
-
Requires-Dist: coremltools>=
|
65
|
-
Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.
|
64
|
+
Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
|
65
|
+
Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
|
66
66
|
Requires-Dist: openvino!=2025.0.0,>=2024.0.0; extra == "export"
|
67
67
|
Requires-Dist: tensorflow>=2.0.0; extra == "export"
|
68
68
|
Requires-Dist: tensorflowjs>=4.0.0; extra == "export"
|
@@ -86,8 +86,8 @@ Dynamic: license-file
|
|
86
86
|
|
87
87
|
<div align="center">
|
88
88
|
<p>
|
89
|
-
<a href="https://www.ultralytics.com/
|
90
|
-
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="YOLO
|
89
|
+
<a href="https://www.ultralytics.com/blog/all-you-need-to-know-about-ultralytics-yolo11-and-its-applications" target="_blank">
|
90
|
+
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
|
91
91
|
</p>
|
92
92
|
|
93
93
|
[中文](https://docs.ultralytics.com/zh) | [한국어](https://docs.ultralytics.com/ko) | [日本語](https://docs.ultralytics.com/ja) | [Русский](https://docs.ultralytics.com/ru) | [Deutsch](https://docs.ultralytics.com/de) | [Français](https://docs.ultralytics.com/fr) | [Español](https://docs.ultralytics.com/es) | [Português](https://docs.ultralytics.com/pt) | [Türkçe](https://docs.ultralytics.com/tr) | [Tiếng Việt](https://docs.ultralytics.com/vi) | [العربية](https://docs.ultralytics.com/ar) <br>
|
@@ -3,14 +3,14 @@ tests/conftest.py,sha256=rsIAipRKfrVNoTaJ1LdpYue8AbcJ_fr3d3WIlM_6uXY,2982
|
|
3
3
|
tests/test_cli.py,sha256=DPxUjcGAex_cmGMNaRIK7mT7wrILWaPBtlfXuHQpveI,5284
|
4
4
|
tests/test_cuda.py,sha256=0uvTF4bY_Grsd_Xgtp7TdIEgMpUqKv8_kWA82NYDl_g,6260
|
5
5
|
tests/test_engine.py,sha256=aGqZ8P7QO5C_nOa1b4FOyk92Ysdk5WiP-ST310Vyxys,4962
|
6
|
-
tests/test_exports.py,sha256=
|
6
|
+
tests/test_exports.py,sha256=ONs5zF9gVOl_sabzLmFyhp5zQ2sv3uSWzXUjoTgJPME,9242
|
7
7
|
tests/test_integrations.py,sha256=ZgpddWHEVqiP4bGhVw8fLc2wdz0rCxuxr0FQ2dTgnIE,6067
|
8
8
|
tests/test_python.py,sha256=qfAjIhZ8R-g6QLtAo_bSf77U_7LexVKwstZlmoze5WI,23075
|
9
9
|
tests/test_solutions.py,sha256=xh5cPoQ8Ht0rNbdalWW8C3f0f_-asgu4aZSiMMn3yRY,5134
|
10
|
-
ultralytics/__init__.py,sha256=
|
10
|
+
ultralytics/__init__.py,sha256=3gLXdYzafXnB-94hlmOragQmR1qIytBTEL00-SkbTLA,709
|
11
11
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
12
12
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
13
|
-
ultralytics/cfg/__init__.py,sha256=
|
13
|
+
ultralytics/cfg/__init__.py,sha256=h-VYq22NA05gVibxa5eVO-pMk9OqlcaUMx2NbgklnXM,39894
|
14
14
|
ultralytics/cfg/default.yaml,sha256=tHE_VB_tzq5K1BntCCukmFIViwiRv0R-H6ZNucCnYsY,8469
|
15
15
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=_xlEDIJ9XkUo0v_iNL7FW079BoSeZtKSuLteKTtGbA8,3275
|
16
16
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
|
@@ -107,7 +107,7 @@ ultralytics/data/loaders.py,sha256=_Gyp_BfGTZwsFdn4UnolXxdU_sAYZLIrv0L2TRI9R5g,2
|
|
107
107
|
ultralytics/data/split_dota.py,sha256=p8eVGht9tABSVbf9vwvxA_AQYEva3IGHePKlMeNrn64,11872
|
108
108
|
ultralytics/data/utils.py,sha256=aRPwIoLrCML_Kcd0dI9B6c5Ct4dvhdF36rDHtuf7Ww4,33217
|
109
109
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
110
|
-
ultralytics/engine/exporter.py,sha256=
|
110
|
+
ultralytics/engine/exporter.py,sha256=_0o3QN1gDTm8MJMSv5CsaWoqw3UyvVPBt_hppUgsGrk,77566
|
111
111
|
ultralytics/engine/model.py,sha256=uAqzcgn9EjmKG1lO7rwcW5sIMIwJTHHC-popARr2QSU,52902
|
112
112
|
ultralytics/engine/predictor.py,sha256=ozPvmwlek6QRN5canK-BTQJI8KbBynWozF3AYN1ghE8,21626
|
113
113
|
ultralytics/engine/results.py,sha256=H3pFJhUjYKvVyOUqqZjfIn8vnCpl81aYNOnregMrBoQ,79716
|
@@ -196,7 +196,7 @@ ultralytics/solutions/object_blurrer.py,sha256=9Qzs8M3YI--FoWvihMytFdtnhin6gQ0l_
|
|
196
196
|
ultralytics/solutions/object_counter.py,sha256=_5XsW6TwIh7_PK1d8Ny-Xd1a-pqTAzIDV02bHysnJmY,9881
|
197
197
|
ultralytics/solutions/object_cropper.py,sha256=AlIM-RnqFRogAY8JilE0KnbzFMulaIYJGPpn1nFRL5w,3386
|
198
198
|
ultralytics/solutions/parking_management.py,sha256=uojHB17GxzFgzEmCBTEW5XK2h3ONjooW6dHaveWVTcY,13294
|
199
|
-
ultralytics/solutions/queue_management.py,sha256=
|
199
|
+
ultralytics/solutions/queue_management.py,sha256=cUzAMMeWijowkdiuaSUZRr0S3I5MTHkCQOLjOqS0JN0,4299
|
200
200
|
ultralytics/solutions/region_counter.py,sha256=LKZuykgmnevKKzYifyeHQwQroF7tJJIPI6HVXi5mb9M,5299
|
201
201
|
ultralytics/solutions/security_alarm.py,sha256=KLP1R5qAFcmMliHfsuYNS_k-E1vGbOccLrzbmcpp4xQ,6254
|
202
202
|
ultralytics/solutions/solutions.py,sha256=saP3l-zNFPQk2LGtZ7wBNTb7U5Byg9S8pDSH0Ilseco,33866
|
@@ -215,8 +215,8 @@ ultralytics/trackers/utils/kalman_filter.py,sha256=A0CqOnnaKH6kr0XwuHzyHmIU6aJAj
|
|
215
215
|
ultralytics/trackers/utils/matching.py,sha256=7eIufSdeN7cXuFMjvcfvz0Ldq84m4YKZl5IGxBR8IIo,7169
|
216
216
|
ultralytics/utils/__init__.py,sha256=IT6lSICVVAYy9giWtc0RDv6IT3UAVnFmF7Xm2RHoZf0,50196
|
217
217
|
ultralytics/utils/autobatch.py,sha256=KnvmNSAO_6H3ZLJ4fOFMTFbOaMlbp025LiJqrdKIz8c,4998
|
218
|
-
ultralytics/utils/benchmarks.py,sha256=
|
219
|
-
ultralytics/utils/checks.py,sha256=
|
218
|
+
ultralytics/utils/benchmarks.py,sha256=0lhuwA_yJ1uGYqL-yMFZrrGZQrLVp09xklKITKYHX_c,30246
|
219
|
+
ultralytics/utils/checks.py,sha256=d30cJY1G3wBWWTlq3C3yGVmDhAUtfXa9U3nuTO4sXQo,32677
|
220
220
|
ultralytics/utils/dist.py,sha256=seNVxWYY0_OyLYQqSEcTiRIFsk3eojSj06FvrzJCKn8,2795
|
221
221
|
ultralytics/utils/downloads.py,sha256=2aZBnYtWADXNelIUucW9eaGlrE_m_X9aEYZpfzsDkek,21898
|
222
222
|
ultralytics/utils/errors.py,sha256=sXKDEd8ws3L-yIfG_-P_h86axbm37sJNha7kFBJbQMQ,844
|
@@ -242,9 +242,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=TQDHJsgAdnMtSdLeQyVTJ1zBdvuwLm-U4U
|
|
242
242
|
ultralytics/utils/callbacks/raytune.py,sha256=omVZNNuzYxsZZXrF9xpbFv7R1Wjdx1j-gv0xXuZrQas,1122
|
243
243
|
ultralytics/utils/callbacks/tensorboard.py,sha256=rnyja6LpSyixwuL0WKovgARe6RPiX8ORuknlre3VEu4,4255
|
244
244
|
ultralytics/utils/callbacks/wb.py,sha256=AZH7-bARpHhnonnN57dvoPpfK35xBnu7rINZzHeugeg,6851
|
245
|
-
ultralytics-8.3.
|
246
|
-
ultralytics-8.3.
|
247
|
-
ultralytics-8.3.
|
248
|
-
ultralytics-8.3.
|
249
|
-
ultralytics-8.3.
|
250
|
-
ultralytics-8.3.
|
245
|
+
ultralytics-8.3.96.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
246
|
+
ultralytics-8.3.96.dist-info/METADATA,sha256=8_j3CoQthbCrxOQ-CmGy3PBon8qSwo2q6qjXK33EAdU,35250
|
247
|
+
ultralytics-8.3.96.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
|
248
|
+
ultralytics-8.3.96.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
249
|
+
ultralytics-8.3.96.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
250
|
+
ultralytics-8.3.96.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|