ultralytics 8.3.13__py3-none-any.whl → 8.3.15__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 +1 -1
- ultralytics/cfg/__init__.py +1 -2
- ultralytics/data/utils.py +1 -1
- ultralytics/engine/exporter.py +1 -1
- ultralytics/nn/autobackend.py +9 -5
- ultralytics/nn/tasks.py +4 -5
- ultralytics/solutions/ai_gym.py +1 -1
- ultralytics/solutions/analytics.py +3 -3
- ultralytics/solutions/heatmap.py +2 -1
- ultralytics/solutions/parking_management.py +3 -3
- ultralytics/solutions/streamlit_inference.py +1 -1
- ultralytics/utils/__init__.py +3 -3
- ultralytics/utils/callbacks/tensorboard.py +1 -1
- ultralytics/utils/checks.py +3 -3
- ultralytics/utils/downloads.py +1 -1
- ultralytics/utils/plotting.py +1 -1
- ultralytics/utils/torch_utils.py +2 -2
- {ultralytics-8.3.13.dist-info → ultralytics-8.3.15.dist-info}/METADATA +1 -1
- {ultralytics-8.3.13.dist-info → ultralytics-8.3.15.dist-info}/RECORD +23 -23
- {ultralytics-8.3.13.dist-info → ultralytics-8.3.15.dist-info}/WHEEL +1 -1
- {ultralytics-8.3.13.dist-info → ultralytics-8.3.15.dist-info}/LICENSE +0 -0
- {ultralytics-8.3.13.dist-info → ultralytics-8.3.15.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.13.dist-info → ultralytics-8.3.15.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/cfg/__init__.py
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
2
2
|
|
3
|
-
import contextlib
|
4
3
|
import shutil
|
5
4
|
import subprocess
|
6
5
|
import sys
|
@@ -639,7 +638,7 @@ def smart_value(v):
|
|
639
638
|
else:
|
640
639
|
try:
|
641
640
|
return eval(v)
|
642
|
-
except:
|
641
|
+
except Exception:
|
643
642
|
return v
|
644
643
|
|
645
644
|
|
ultralytics/data/utils.py
CHANGED
ultralytics/engine/exporter.py
CHANGED
@@ -398,7 +398,7 @@ class Exporter:
|
|
398
398
|
"""YOLO ONNX export."""
|
399
399
|
requirements = ["onnx>=1.12.0"]
|
400
400
|
if self.args.simplify:
|
401
|
-
requirements += ["onnxslim
|
401
|
+
requirements += ["onnxslim", "onnxruntime" + ("-gpu" if torch.cuda.is_available() else "")]
|
402
402
|
check_requirements(requirements)
|
403
403
|
import onnx # noqa
|
404
404
|
|
ultralytics/nn/autobackend.py
CHANGED
@@ -46,7 +46,7 @@ def default_class_names(data=None):
|
|
46
46
|
if data:
|
47
47
|
try:
|
48
48
|
return yaml_load(check_yaml(data))["names"]
|
49
|
-
except:
|
49
|
+
except Exception:
|
50
50
|
pass
|
51
51
|
return {i: f"class{i}" for i in range(999)} # return default if above errors
|
52
52
|
|
@@ -126,7 +126,7 @@ class AutoBackend(nn.Module):
|
|
126
126
|
fp16 &= pt or jit or onnx or xml or engine or nn_module or triton # FP16
|
127
127
|
nhwc = coreml or saved_model or pb or tflite or edgetpu # BHWC formats (vs torch BCWH)
|
128
128
|
stride = 32 # default stride
|
129
|
-
model, metadata = None, None
|
129
|
+
model, metadata, task = None, None, None
|
130
130
|
|
131
131
|
# Set device
|
132
132
|
cuda = torch.cuda.is_available() and device.type != "cpu" # use CUDA
|
@@ -336,11 +336,15 @@ class AutoBackend(nn.Module):
|
|
336
336
|
|
337
337
|
Interpreter, load_delegate = tf.lite.Interpreter, tf.lite.experimental.load_delegate
|
338
338
|
if edgetpu: # TF Edge TPU https://coral.ai/software/#edgetpu-runtime
|
339
|
-
|
339
|
+
device = device[3:] if str(device).startswith("tpu") else ":0"
|
340
|
+
LOGGER.info(f"Loading {w} on device {device[1:]} for TensorFlow Lite Edge TPU inference...")
|
340
341
|
delegate = {"Linux": "libedgetpu.so.1", "Darwin": "libedgetpu.1.dylib", "Windows": "edgetpu.dll"}[
|
341
342
|
platform.system()
|
342
343
|
]
|
343
|
-
interpreter = Interpreter(
|
344
|
+
interpreter = Interpreter(
|
345
|
+
model_path=w,
|
346
|
+
experimental_delegates=[load_delegate(delegate, options={"device": device})],
|
347
|
+
)
|
344
348
|
else: # TFLite
|
345
349
|
LOGGER.info(f"Loading {w} for TensorFlow Lite inference...")
|
346
350
|
interpreter = Interpreter(model_path=w) # load TFLite model
|
@@ -501,7 +505,7 @@ class AutoBackend(nn.Module):
|
|
501
505
|
|
502
506
|
# TensorRT
|
503
507
|
elif self.engine:
|
504
|
-
if self.dynamic
|
508
|
+
if self.dynamic and im.shape != self.bindings["images"].shape:
|
505
509
|
if self.is_trt10:
|
506
510
|
self.context.set_input_shape("images", im.shape)
|
507
511
|
self.bindings["images"] = self.bindings["images"]._replace(shape=im.shape)
|
ultralytics/nn/tasks.py
CHANGED
@@ -963,7 +963,6 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
|
|
963
963
|
args[j] = locals()[a] if a in locals() else ast.literal_eval(a)
|
964
964
|
except ValueError:
|
965
965
|
pass
|
966
|
-
|
967
966
|
n = n_ = max(round(n * depth), 1) if n > 1 else n # depth gain
|
968
967
|
if m in {
|
969
968
|
Classify,
|
@@ -1102,7 +1101,7 @@ def guess_model_scale(model_path):
|
|
1102
1101
|
(str): The size character of the model's scale, which can be n, s, m, l, or x.
|
1103
1102
|
"""
|
1104
1103
|
try:
|
1105
|
-
return re.search(r"yolo[v]?\d+([nslmx])", Path(model_path).stem).group(1) # n, s, m, l, or x
|
1104
|
+
return re.search(r"yolo[v]?\d+([nslmx])", Path(model_path).stem).group(1) # noqa, returns n, s, m, l, or x
|
1106
1105
|
except AttributeError:
|
1107
1106
|
return ""
|
1108
1107
|
|
@@ -1139,7 +1138,7 @@ def guess_model_task(model):
|
|
1139
1138
|
if isinstance(model, dict):
|
1140
1139
|
try:
|
1141
1140
|
return cfg2task(model)
|
1142
|
-
except:
|
1141
|
+
except Exception:
|
1143
1142
|
pass
|
1144
1143
|
|
1145
1144
|
# Guess from PyTorch model
|
@@ -1147,12 +1146,12 @@ def guess_model_task(model):
|
|
1147
1146
|
for x in "model.args", "model.model.args", "model.model.model.args":
|
1148
1147
|
try:
|
1149
1148
|
return eval(x)["task"]
|
1150
|
-
except:
|
1149
|
+
except Exception:
|
1151
1150
|
pass
|
1152
1151
|
for x in "model.yaml", "model.model.yaml", "model.model.model.yaml":
|
1153
1152
|
try:
|
1154
1153
|
return cfg2task(eval(x))
|
1155
|
-
except:
|
1154
|
+
except Exception:
|
1156
1155
|
pass
|
1157
1156
|
|
1158
1157
|
for m in model.modules():
|
ultralytics/solutions/ai_gym.py
CHANGED
@@ -31,7 +31,7 @@ class AIGym(BaseSolution):
|
|
31
31
|
|
32
32
|
def monitor(self, im0):
|
33
33
|
"""
|
34
|
-
Monitor the workouts using Ultralytics
|
34
|
+
Monitor the workouts using Ultralytics YOLO Pose Model: https://docs.ultralytics.com/tasks/pose/.
|
35
35
|
|
36
36
|
Args:
|
37
37
|
im0 (ndarray): The input image that will be used for processing
|
@@ -48,7 +48,7 @@ class Analytics(BaseSolution):
|
|
48
48
|
self.canvas = FigureCanvas(self.fig) # Set common axis properties
|
49
49
|
self.ax.set_facecolor(self.bg_color)
|
50
50
|
self.color_mapping = {}
|
51
|
-
self.ax.axis("equal") if type == "pie" else None # Ensure pie chart is circular
|
51
|
+
self.ax.axis("equal") if self.type == "pie" else None # Ensure pie chart is circular
|
52
52
|
|
53
53
|
def process_data(self, im0, frame_number):
|
54
54
|
"""
|
@@ -61,11 +61,11 @@ class Analytics(BaseSolution):
|
|
61
61
|
self.extract_tracks(im0) # Extract tracks
|
62
62
|
|
63
63
|
if self.type == "line":
|
64
|
-
for
|
64
|
+
for _ in self.boxes:
|
65
65
|
self.total_counts += 1
|
66
66
|
im0 = self.update_graph(frame_number=frame_number)
|
67
67
|
self.total_counts = 0
|
68
|
-
elif self.type
|
68
|
+
elif self.type in {"pie", "bar", "area"}:
|
69
69
|
self.clswise_count = {}
|
70
70
|
for box, cls in zip(self.boxes, self.clss):
|
71
71
|
if self.names[int(cls)] in self.clswise_count:
|
ultralytics/solutions/heatmap.py
CHANGED
@@ -52,7 +52,8 @@ class Heatmap(ObjectCounter):
|
|
52
52
|
Returns:
|
53
53
|
im0 (ndarray): Processed image for further usage
|
54
54
|
"""
|
55
|
-
|
55
|
+
if not self.initialized:
|
56
|
+
self.heatmap = np.zeros_like(im0, dtype=np.float32) * 0.99
|
56
57
|
self.initialized = True # Initialize heatmap only once
|
57
58
|
|
58
59
|
self.annotator = Annotator(im0, line_width=self.line_width) # Initialize annotator
|
@@ -143,7 +143,7 @@ class ParkingPtsSelection:
|
|
143
143
|
|
144
144
|
|
145
145
|
class ParkingManagement:
|
146
|
-
"""Manages parking occupancy and availability using
|
146
|
+
"""Manages parking occupancy and availability using YOLO model for real-time monitoring and visualization."""
|
147
147
|
|
148
148
|
def __init__(
|
149
149
|
self,
|
@@ -153,10 +153,10 @@ class ParkingManagement:
|
|
153
153
|
available_region_color=(0, 255, 0), # available region color
|
154
154
|
):
|
155
155
|
"""
|
156
|
-
Initializes the parking management system with a
|
156
|
+
Initializes the parking management system with a YOLO model and visualization settings.
|
157
157
|
|
158
158
|
Args:
|
159
|
-
model (str): Path to the
|
159
|
+
model (str): Path to the YOLO model.
|
160
160
|
json_file (str): file that have all parking slot points data
|
161
161
|
occupied_region_color (tuple): RGB color tuple for occupied regions.
|
162
162
|
available_region_color (tuple): RGB color tuple for available regions.
|
@@ -11,7 +11,7 @@ from ultralytics.utils.downloads import GITHUB_ASSETS_STEMS
|
|
11
11
|
|
12
12
|
|
13
13
|
def inference(model=None):
|
14
|
-
"""Runs real-time object detection on video input using Ultralytics
|
14
|
+
"""Runs real-time object detection on video input using Ultralytics YOLO11 in a Streamlit application."""
|
15
15
|
check_requirements("streamlit>=1.29.0") # scope imports for faster ultralytics package load speeds
|
16
16
|
import streamlit as st
|
17
17
|
|
ultralytics/utils/__init__.py
CHANGED
@@ -526,7 +526,7 @@ def read_device_model() -> str:
|
|
526
526
|
try:
|
527
527
|
with open("/proc/device-tree/model") as f:
|
528
528
|
return f.read()
|
529
|
-
except:
|
529
|
+
except Exception:
|
530
530
|
return ""
|
531
531
|
|
532
532
|
|
@@ -584,7 +584,7 @@ def is_docker() -> bool:
|
|
584
584
|
try:
|
585
585
|
with open("/proc/self/cgroup") as f:
|
586
586
|
return "docker" in f.read()
|
587
|
-
except:
|
587
|
+
except Exception:
|
588
588
|
return False
|
589
589
|
|
590
590
|
|
@@ -623,7 +623,7 @@ def is_online() -> bool:
|
|
623
623
|
for dns in ("1.1.1.1", "8.8.8.8"): # check Cloudflare and Google DNS
|
624
624
|
socket.create_connection(address=(dns, 80), timeout=2.0).close()
|
625
625
|
return True
|
626
|
-
except:
|
626
|
+
except Exception:
|
627
627
|
return False
|
628
628
|
|
629
629
|
|
@@ -50,7 +50,7 @@ def _log_tensorboard_graph(trainer):
|
|
50
50
|
LOGGER.info(f"{PREFIX}model graph visualization added ✅")
|
51
51
|
return
|
52
52
|
|
53
|
-
except:
|
53
|
+
except Exception:
|
54
54
|
# Fallback to TorchScript export steps (RTDETR)
|
55
55
|
try:
|
56
56
|
model = deepcopy(de_parallel(trainer.model))
|
ultralytics/utils/checks.py
CHANGED
@@ -277,7 +277,7 @@ def check_latest_pypi_version(package_name="ultralytics"):
|
|
277
277
|
response = requests.get(f"https://pypi.org/pypi/{package_name}/json", timeout=3)
|
278
278
|
if response.status_code == 200:
|
279
279
|
return response.json()["info"]["version"]
|
280
|
-
except:
|
280
|
+
except Exception:
|
281
281
|
return None
|
282
282
|
|
283
283
|
|
@@ -299,7 +299,7 @@ def check_pip_update_available():
|
|
299
299
|
f"Update with 'pip install -U ultralytics'"
|
300
300
|
)
|
301
301
|
return True
|
302
|
-
except:
|
302
|
+
except Exception:
|
303
303
|
pass
|
304
304
|
return False
|
305
305
|
|
@@ -715,7 +715,7 @@ def git_describe(path=ROOT): # path must be a directory
|
|
715
715
|
"""Return human-readable git description, i.e. v5.0-5-g3e25f1e https://git-scm.com/docs/git-describe."""
|
716
716
|
try:
|
717
717
|
return subprocess.check_output(f"git -C {path} describe --tags --long --always", shell=True).decode()[:-1]
|
718
|
-
except:
|
718
|
+
except Exception:
|
719
719
|
return ""
|
720
720
|
|
721
721
|
|
ultralytics/utils/downloads.py
CHANGED
ultralytics/utils/plotting.py
CHANGED
ultralytics/utils/torch_utils.py
CHANGED
@@ -119,7 +119,7 @@ def get_cpu_info():
|
|
119
119
|
info = cpuinfo.get_cpu_info() # info dict
|
120
120
|
string = info.get(k[0] if k[0] in info else k[1] if k[1] in info else k[2], "unknown")
|
121
121
|
PERSISTENT_CACHE["cpu_info"] = string.replace("(R)", "").replace("CPU ", "").replace("@ ", "")
|
122
|
-
except:
|
122
|
+
except Exception:
|
123
123
|
pass
|
124
124
|
return PERSISTENT_CACHE.get("cpu_info", "unknown")
|
125
125
|
|
@@ -163,7 +163,7 @@ def select_device(device="", batch=0, newline=False, verbose=True):
|
|
163
163
|
Note:
|
164
164
|
Sets the 'CUDA_VISIBLE_DEVICES' environment variable for specifying which GPUs to use.
|
165
165
|
"""
|
166
|
-
if isinstance(device, torch.device):
|
166
|
+
if isinstance(device, torch.device) or str(device).startswith("tpu"):
|
167
167
|
return device
|
168
168
|
|
169
169
|
s = f"Ultralytics {__version__} 🚀 Python-{PYTHON_VERSION} torch-{torch.__version__} "
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.15
|
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>
|
@@ -7,10 +7,10 @@ tests/test_exports.py,sha256=fpTKEVBUGLF3WiZPNKRs-IEcIY4cfxgvgKjUNfodjww,8042
|
|
7
7
|
tests/test_integrations.py,sha256=f5-QCUk1SU_-qn4mBCZwS3GN3tXEBIIXo4z2EhExbHw,6126
|
8
8
|
tests/test_python.py,sha256=I1RRdCwLdrc3jX06huVxct8HX8ccQOmQgVpuEflRl0U,23560
|
9
9
|
tests/test_solutions.py,sha256=dpxWGKO-aJ3Yff4KR7BQGajX9VyFdGTWEtcbmFC3WwE,3005
|
10
|
-
ultralytics/__init__.py,sha256=
|
10
|
+
ultralytics/__init__.py,sha256=aj8G5I4WicUSrO31o8bjr2-NpBMLdj9qEzU9uVqo-yg,681
|
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=Y-T6ya7MYBLsoJ4sv8MRgvT5TMKZs5A6ZOYo7Tw_jcs,31732
|
14
14
|
ultralytics/cfg/default.yaml,sha256=ul49zgSzTegMmc8CFeu9tXkWNvQhETdZMa9EgDNSnY4,8319
|
15
15
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=FyeuJT5CHq_9d4hlfAf0kpZlnbUMO0S--UJ1yIqcdKk,3134
|
16
16
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=QVfp_Qp-4rukuicaB4qx86NxSHM8Mrzym8l_fIDo8gw,1195
|
@@ -97,9 +97,9 @@ ultralytics/data/converter.py,sha256=QCtrcbNz9kid8nvHfGIWt02nH1wwMKv6HI-8s927CR8
|
|
97
97
|
ultralytics/data/dataset.py,sha256=D556AW0ZEsW3V8c5zJiHM_prc_YfZqymIkDKPw3k9Io,22936
|
98
98
|
ultralytics/data/loaders.py,sha256=Fr70Q9p9t7buLW_8R2_lI_nyCMG033gWSxvwy1M-a-U,28449
|
99
99
|
ultralytics/data/split_dota.py,sha256=yOtypHoY5HvIVBKZgFXdfj2tuCLLEBnMwNfAeG94Eik,10680
|
100
|
-
ultralytics/data/utils.py,sha256=
|
100
|
+
ultralytics/data/utils.py,sha256=bmWEIrdogj4kssZQSJdSbIF8QsJU00lo-EY-Mgcqv4M,31073
|
101
101
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
102
|
-
ultralytics/engine/exporter.py,sha256=
|
102
|
+
ultralytics/engine/exporter.py,sha256=OQONIGMLBKgkhfUC4CV7mRWfyo_VV03SA5SnaetBIsM,57662
|
103
103
|
ultralytics/engine/model.py,sha256=pvL1uf-wwdWL8Iph7VEAYn1-z7wEHzVug21V_0_gO6M,51456
|
104
104
|
ultralytics/engine/predictor.py,sha256=keTelEeo23Dcbs-XvmRWAPIs4pbCNDtsMBz88WM1eK8,17534
|
105
105
|
ultralytics/engine/results.py,sha256=BxanBI8PhBCfs-9cSy-GS6naScuiD3hdvUAJWPW2mS0,75043
|
@@ -169,8 +169,8 @@ ultralytics/models/yolo/world/__init__.py,sha256=3VTH0q4NOt2EWRom15yCymvmvm0Etp2
|
|
169
169
|
ultralytics/models/yolo/world/train.py,sha256=gaDrAmLJpg9qDtmL5evA5HsV2yb4RTRSfk2EDYrHdRg,3686
|
170
170
|
ultralytics/models/yolo/world/train_world.py,sha256=IsnCEVt6DcM9lUskCKmIN-M8MM79xLpwTRqRoAHUnZ4,4857
|
171
171
|
ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
|
172
|
-
ultralytics/nn/autobackend.py,sha256=
|
173
|
-
ultralytics/nn/tasks.py,sha256=
|
172
|
+
ultralytics/nn/autobackend.py,sha256=sFo9vx3y1M3lzaROMvMFfar7EngEn4BF5-_439r_eZA,31798
|
173
|
+
ultralytics/nn/tasks.py,sha256=vHhPv6kFkSCjYB_OfAmEB6PYwxKVZlyzZvqKULE3utY,48403
|
174
174
|
ultralytics/nn/modules/__init__.py,sha256=xhW2BennT9U_VaMXVpRu-bdLgp1BXt9L8mkIUBE3idU,2625
|
175
175
|
ultralytics/nn/modules/activation.py,sha256=chhn469wnRHEs5BMGNBYXwPYZc_7-urspTT8fnBd-xA,895
|
176
176
|
ultralytics/nn/modules/block.py,sha256=thcIPcnGRRxDDDswywJsfzbewr9XfTrzl_UvSl-bJ3c,41832
|
@@ -179,16 +179,16 @@ ultralytics/nn/modules/head.py,sha256=WnCpQDBlMDStpEs-m-R0vcKq28OX2FEgTcmHEpRL_p
|
|
179
179
|
ultralytics/nn/modules/transformer.py,sha256=tGiK8NmPfswwW1rbF21r5ILUkkZQ6Nk4s8j16vFBmps,18069
|
180
180
|
ultralytics/nn/modules/utils.py,sha256=a88cKl2wz1nMVSEBiajtvaCbDBQIkESWOKTZ_WAJy90,3195
|
181
181
|
ultralytics/solutions/__init__.py,sha256=6RDeXWO1QSaMgCq8YrWXaj2xvPw2sJwJL_a0dgjCvz0,648
|
182
|
-
ultralytics/solutions/ai_gym.py,sha256=
|
183
|
-
ultralytics/solutions/analytics.py,sha256=
|
182
|
+
ultralytics/solutions/ai_gym.py,sha256=BG2e7yl3_5LF_Y_RLOeBE9x872NmkVqF6lyAPESp-fs,3770
|
183
|
+
ultralytics/solutions/analytics.py,sha256=x5-PA7DmR_ZbeZFCx6wKBI-Cs-opJ5wKyDNdB5E3fNQ,9294
|
184
184
|
ultralytics/solutions/distance_calculation.py,sha256=3D5qj9g-XGt_QPEu5IQI2ubTC0n2pmISDrNPl__JK9M,3373
|
185
|
-
ultralytics/solutions/heatmap.py,sha256=
|
185
|
+
ultralytics/solutions/heatmap.py,sha256=Y9RHAp7b7-01foLUW0iUjKis6Iu60fFEFxxZqiENhX0,3845
|
186
186
|
ultralytics/solutions/object_counter.py,sha256=7s3Q--CAFHr_uXzeq6epXgl5YSinc6q-VThPBx1Gj3Y,5485
|
187
|
-
ultralytics/solutions/parking_management.py,sha256=
|
187
|
+
ultralytics/solutions/parking_management.py,sha256=dvvymuR2ErvufN9PzC2M9K4byKsjIFYPiDcrCNPJtbk,9049
|
188
188
|
ultralytics/solutions/queue_management.py,sha256=5d1RURQiqffAoET8S66gHimK0l3gKNAfuPO5U6_08jc,2716
|
189
189
|
ultralytics/solutions/solutions.py,sha256=qWKGlwlH9858GfAdZkcu_QXbrzjTFStDvg16Eky0oyo,3541
|
190
190
|
ultralytics/solutions/speed_estimation.py,sha256=2jLTEdnSF3Mm3Z7QJVPCUq84-7L6ELIJIR_sPFBW_cU,3164
|
191
|
-
ultralytics/solutions/streamlit_inference.py,sha256=
|
191
|
+
ultralytics/solutions/streamlit_inference.py,sha256=I9qNwBsoLgvEUy_y9CF7W8dod4ifJq2kOqsv0EOcTxU,5699
|
192
192
|
ultralytics/trackers/__init__.py,sha256=j72IgH2dZHQArMPK4YwcV5ieIw94fYvlGdQjB9cOQKw,227
|
193
193
|
ultralytics/trackers/basetrack.py,sha256=dXnXW3cxxd7lPm20JJCNO2voCIrQ4vhbNI1g4YEgn-Y,4423
|
194
194
|
ultralytics/trackers/bot_sort.py,sha256=766grVQExvonb087Wy-SB32TSwYYsTEM22yoWeQ_EEo,10494
|
@@ -198,12 +198,12 @@ ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7J
|
|
198
198
|
ultralytics/trackers/utils/gmc.py,sha256=VcURuY041qGCeWUGMxHZBr10T16LtcMqyv7AmTfE1MY,14557
|
199
199
|
ultralytics/trackers/utils/kalman_filter.py,sha256=cH9zD3fwkuezP97H9mw8cSBN7a8hHKx_Sx1j7t3oYGs,21349
|
200
200
|
ultralytics/trackers/utils/matching.py,sha256=3Ie1WNNRZ4_q3365F03XD7Nr9juZB_08mw4yUKC3w74,7162
|
201
|
-
ultralytics/utils/__init__.py,sha256=
|
201
|
+
ultralytics/utils/__init__.py,sha256=e9TGKFTMU1dGkYVvD22qHxvR76gUiATKWM4eIqT77SI,48689
|
202
202
|
ultralytics/utils/autobatch.py,sha256=BO9MCRtrLDtrDQaxqV0BdjaYsgXf-q07Y3_VdGp4URY,4330
|
203
203
|
ultralytics/utils/benchmarks.py,sha256=R3_jtwLd48azPSXmtIhqlzduUvflk0FOY8GJOJ6mB6E,25097
|
204
|
-
ultralytics/utils/checks.py,sha256=
|
204
|
+
ultralytics/utils/checks.py,sha256=jjCIAT6yBQ2v-aRxh3ZmoBIEiVT-iCAvcqarLLNW1os,29756
|
205
205
|
ultralytics/utils/dist.py,sha256=NDFga-uKxkBX2zLxFHSene_cCiGQJoyOeCXcN9JIOIk,2358
|
206
|
-
ultralytics/utils/downloads.py,sha256=
|
206
|
+
ultralytics/utils/downloads.py,sha256=fh7I5toTSowAOXtmx5zIzCEDREfTFG45cLIHmsDmuYw,21974
|
207
207
|
ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
|
208
208
|
ultralytics/utils/files.py,sha256=uiXQSVABJRoI5ImnM6ndEBIFbECfksmWNEldBg8GnSo,8224
|
209
209
|
ultralytics/utils/instance.py,sha256=QSms7mPHZ5e8JGuJYLohLWltzI0aBE8dob2rOUK4RtM,16249
|
@@ -211,9 +211,9 @@ ultralytics/utils/loss.py,sha256=SW3FVFFp8Ki_LCT8wIdFbm6KmyPcQn3RmKNcvVAhMQI,341
|
|
211
211
|
ultralytics/utils/metrics.py,sha256=msPaXc244ndc0NPBhnNlHsKkVhdc-TMgFn5NATlZZVI,53918
|
212
212
|
ultralytics/utils/ops.py,sha256=dsXNdyrYx_p6io6zezig9p84dxS7U-10vceHNVu2IL0,32888
|
213
213
|
ultralytics/utils/patches.py,sha256=J-iOwIRbfUs-inBZerhnXby5tUKjYcOIyvhLTS352JE,3270
|
214
|
-
ultralytics/utils/plotting.py,sha256=
|
214
|
+
ultralytics/utils/plotting.py,sha256=TKtdbAOl6gZdFD2hlA5T4LNWfr2LUWbCC-cXkgL1JAU,61089
|
215
215
|
ultralytics/utils/tal.py,sha256=ECsu95xEqOItmxMDN4YTD3FsUiIsQNWy0pZC3TfvFfk,16877
|
216
|
-
ultralytics/utils/torch_utils.py,sha256=
|
216
|
+
ultralytics/utils/torch_utils.py,sha256=91fmJtZRvIVb6LI-wNkNrlHE7mMNBmcR4oif8ZYppYU,30089
|
217
217
|
ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
|
218
218
|
ultralytics/utils/tuner.py,sha256=mJdgvuE2StoFS13mEdsTbsxQgSZA4fSdSCgoyh8PvNw,6250
|
219
219
|
ultralytics/utils/callbacks/__init__.py,sha256=YrWqC3BVVaTLob4iCPR6I36mUxIUOpPJW7B_LjT78Qw,214
|
@@ -225,11 +225,11 @@ ultralytics/utils/callbacks/hub.py,sha256=EPewsLigFQc9ucTX2exKSlKBiaBNhYYyGC_nR2
|
|
225
225
|
ultralytics/utils/callbacks/mlflow.py,sha256=mkl_rK0Gy02cXnQUYmzmLE5W97fMgfEb7IlgOAdnjHg,5396
|
226
226
|
ultralytics/utils/callbacks/neptune.py,sha256=IbGQfEltamUKXJt93uSLQFn8c2rYh3DMTgVE1xsnmUI,3813
|
227
227
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
228
|
-
ultralytics/utils/callbacks/tensorboard.py,sha256=
|
228
|
+
ultralytics/utils/callbacks/tensorboard.py,sha256=SHlE58Fb-sg-uZKtgy-ybIO3SAIfK55aj8kTYGA0Cyg,4167
|
229
229
|
ultralytics/utils/callbacks/wb.py,sha256=upfbF8-LLXueUvulLaMDmKDhKCl_PWbNa_87PQ0L0Rc,6752
|
230
|
-
ultralytics-8.3.
|
231
|
-
ultralytics-8.3.
|
232
|
-
ultralytics-8.3.
|
233
|
-
ultralytics-8.3.
|
234
|
-
ultralytics-8.3.
|
235
|
-
ultralytics-8.3.
|
230
|
+
ultralytics-8.3.15.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
231
|
+
ultralytics-8.3.15.dist-info/METADATA,sha256=H_YoVi7MhmRhxpODtQejSTLVwbcGGtKWRltpeTfp8wU,34660
|
232
|
+
ultralytics-8.3.15.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
233
|
+
ultralytics-8.3.15.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
234
|
+
ultralytics-8.3.15.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
235
|
+
ultralytics-8.3.15.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|