ultralytics 8.3.73__py3-none-any.whl → 8.3.74__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/engine/model.py +1 -0
- ultralytics/engine/results.py +1 -1
- ultralytics/engine/trainer.py +2 -0
- ultralytics/utils/__init__.py +0 -1
- ultralytics/utils/benchmarks.py +5 -3
- ultralytics/utils/callbacks/raytune.py +1 -1
- ultralytics/utils/torch_utils.py +9 -2
- {ultralytics-8.3.73.dist-info → ultralytics-8.3.74.dist-info}/METADATA +1 -1
- {ultralytics-8.3.73.dist-info → ultralytics-8.3.74.dist-info}/RECORD +14 -14
- {ultralytics-8.3.73.dist-info → ultralytics-8.3.74.dist-info}/LICENSE +0 -0
- {ultralytics-8.3.73.dist-info → ultralytics-8.3.74.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.73.dist-info → ultralytics-8.3.74.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.73.dist-info → ultralytics-8.3.74.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/engine/model.py
CHANGED
@@ -140,6 +140,7 @@ class Model(torch.nn.Module):
|
|
140
140
|
return
|
141
141
|
|
142
142
|
# Load or create new YOLO model
|
143
|
+
__import__("os").environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8" # to avoid deterministic warnings
|
143
144
|
if Path(model).suffix in {".yaml", ".yml"}:
|
144
145
|
self._new(model, task=task, verbose=verbose)
|
145
146
|
else:
|
ultralytics/engine/results.py
CHANGED
ultralytics/engine/trainer.py
CHANGED
@@ -52,6 +52,7 @@ from ultralytics.utils.torch_utils import (
|
|
52
52
|
select_device,
|
53
53
|
strip_optimizer,
|
54
54
|
torch_distributed_zero_first,
|
55
|
+
unset_deterministic,
|
55
56
|
)
|
56
57
|
|
57
58
|
|
@@ -471,6 +472,7 @@ class BaseTrainer:
|
|
471
472
|
self.plot_metrics()
|
472
473
|
self.run_callbacks("on_train_end")
|
473
474
|
self._clear_memory()
|
475
|
+
unset_deterministic()
|
474
476
|
self.run_callbacks("teardown")
|
475
477
|
|
476
478
|
def auto_batch(self, max_num_obj=0):
|
ultralytics/utils/__init__.py
CHANGED
@@ -128,7 +128,6 @@ torch.set_printoptions(linewidth=320, precision=4, profile="default")
|
|
128
128
|
np.set_printoptions(linewidth=320, formatter={"float_kind": "{:11.5g}".format}) # format short g, %precision=5
|
129
129
|
cv2.setNumThreads(0) # prevent OpenCV from multithreading (incompatible with PyTorch DataLoader)
|
130
130
|
os.environ["NUMEXPR_MAX_THREADS"] = str(NUM_THREADS) # NumExpr max threads
|
131
|
-
os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8" # for deterministic training to avoid CUDA warning
|
132
131
|
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" # suppress verbose TF compiler warnings in Colab
|
133
132
|
os.environ["TORCH_CPP_LOG_LEVEL"] = "ERROR" # suppress "NNPACK.cpp could not initialize NNPACK" warnings
|
134
133
|
os.environ["KINETO_LOG_LEVEL"] = "5" # suppress verbose PyTorch profiler output when computing FLOPs
|
ultralytics/utils/benchmarks.py
CHANGED
@@ -93,6 +93,8 @@ def benchmark(
|
|
93
93
|
if isinstance(model, (str, Path)):
|
94
94
|
model = YOLO(model)
|
95
95
|
is_end2end = getattr(model.model.model[-1], "end2end", False)
|
96
|
+
data = data or TASK2DATA[model.task] # task to dataset, i.e. coco8.yaml for task=detect
|
97
|
+
key = TASK2METRIC[model.task] # task to metric, i.e. metrics/mAP50-95(B) for task=detect
|
96
98
|
|
97
99
|
y = []
|
98
100
|
t0 = time.time()
|
@@ -150,7 +152,9 @@ def benchmark(
|
|
150
152
|
filename = model.pt_path or model.ckpt_path or model.model_name
|
151
153
|
exported_model = model # PyTorch format
|
152
154
|
else:
|
153
|
-
filename = model.export(
|
155
|
+
filename = model.export(
|
156
|
+
imgsz=imgsz, format=format, half=half, int8=int8, data=data, device=device, verbose=False
|
157
|
+
)
|
154
158
|
exported_model = YOLO(filename, task=model.task)
|
155
159
|
assert suffix in str(filename), "export failed"
|
156
160
|
emoji = "❎" # indicates export succeeded
|
@@ -164,11 +168,9 @@ def benchmark(
|
|
164
168
|
exported_model.predict(ASSETS / "bus.jpg", imgsz=imgsz, device=device, half=half, verbose=False)
|
165
169
|
|
166
170
|
# Validate
|
167
|
-
data = data or TASK2DATA[model.task] # task to dataset, i.e. coco8.yaml for task=detect
|
168
171
|
results = exported_model.val(
|
169
172
|
data=data, batch=1, imgsz=imgsz, plots=False, device=device, half=half, int8=int8, verbose=False
|
170
173
|
)
|
171
|
-
key = TASK2METRIC[model.task] # task to metric, i.e. metrics/mAP50-95(B) for task=detect
|
172
174
|
metric, speed = results.results_dict[key], results.speed["inference"]
|
173
175
|
fps = round(1000 / (speed + eps), 2) # frames per second
|
174
176
|
y.append([name, "✅", round(file_size(filename), 1), round(metric, 4), round(speed, 2), fps])
|
@@ -14,7 +14,7 @@ except (ImportError, AssertionError):
|
|
14
14
|
|
15
15
|
def on_fit_epoch_end(trainer):
|
16
16
|
"""Sends training metrics to Ray Tune at end of each epoch."""
|
17
|
-
if ray.train._internal.session.
|
17
|
+
if ray.train._internal.session.get_session(): # replacement for deprecated ray.tune.is_session_enabled()
|
18
18
|
metrics = trainer.metrics
|
19
19
|
session.report({**metrics, **{"epoch": trainer.epoch + 1}})
|
20
20
|
|
ultralytics/utils/torch_utils.py
CHANGED
@@ -488,8 +488,15 @@ def init_seeds(seed=0, deterministic=False):
|
|
488
488
|
else:
|
489
489
|
LOGGER.warning("WARNING ⚠️ Upgrade to torch>=2.0.0 for deterministic training.")
|
490
490
|
else:
|
491
|
-
|
492
|
-
|
491
|
+
unset_deterministic()
|
492
|
+
|
493
|
+
|
494
|
+
def unset_deterministic():
|
495
|
+
"""Unsets all the configurations applied for deterministic training."""
|
496
|
+
torch.use_deterministic_algorithms(False)
|
497
|
+
torch.backends.cudnn.deterministic = False
|
498
|
+
os.environ.pop("CUBLAS_WORKSPACE_CONFIG", None)
|
499
|
+
os.environ.pop("PYTHONHASHSEED", None)
|
493
500
|
|
494
501
|
|
495
502
|
class ModelEMA:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.74
|
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,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=
|
10
|
+
ultralytics/__init__.py,sha256=Qxmv1s_8OG3hItE_vx1c3R_I-L9FUUwE5AKzDsn7d1E,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
|
@@ -103,10 +103,10 @@ ultralytics/data/split_dota.py,sha256=YI-i2MqdiBt06W67TJnBXQHJrqTnkJDJ3zzoL0UZVr
|
|
103
103
|
ultralytics/data/utils.py,sha256=K8xyA1xHLpaeluUbqOl5fy6AWZ6nDciCBZJofjxzOuw,33841
|
104
104
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
105
105
|
ultralytics/engine/exporter.py,sha256=14zD5klVbAqv1jh2QPmpDcGflBUlLurRhYGM-wH9hFI,76780
|
106
|
-
ultralytics/engine/model.py,sha256=
|
106
|
+
ultralytics/engine/model.py,sha256=8CnLnd_c8Ecey4q2JZFJBbUPOYflr5cgjJnw4sH3Vyo,53382
|
107
107
|
ultralytics/engine/predictor.py,sha256=jiYDAjupOlRUpPvw9tu7or9PjXtLm-YCRiawANtWxj0,17881
|
108
|
-
ultralytics/engine/results.py,sha256=
|
109
|
-
ultralytics/engine/trainer.py,sha256=
|
108
|
+
ultralytics/engine/results.py,sha256=8iHooY3IpBsARBo9LsQJYUfJHlcXk7T7urB3gP6rViU,78120
|
109
|
+
ultralytics/engine/trainer.py,sha256=6LTw_52KBLuaQf6rAn-VQ8702cibBkGoaom-aKMbQrw,37417
|
110
110
|
ultralytics/engine/tuner.py,sha256=EUlTs7KJQ2RVABm8pihr_14M_Z2kGSzJaWH-Y9TJYDw,11976
|
111
111
|
ultralytics/engine/validator.py,sha256=r27X8HGeDEwq7V5sFjEQH_3EnP1CyG-HcOLpFABUisU,15034
|
112
112
|
ultralytics/hub/__init__.py,sha256=1ifzSYV0PIT4ZWOm2V7HnpGyY3G3hCz0malw3AXHFlY,5660
|
@@ -204,9 +204,9 @@ ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6D
|
|
204
204
|
ultralytics/trackers/utils/gmc.py,sha256=kU54RozuGJcAVlyb5_HjXiNIUIX5VuH613AMc6Gdnwg,14597
|
205
205
|
ultralytics/trackers/utils/kalman_filter.py,sha256=OBvemZXptgn9v1sgBLvFomCqOWwjIB3-8wBbc8nakHo,21377
|
206
206
|
ultralytics/trackers/utils/matching.py,sha256=64PKHGoETwXhuZ9udE217hbjJHygLOPaYA66J2qMSno,7130
|
207
|
-
ultralytics/utils/__init__.py,sha256=
|
207
|
+
ultralytics/utils/__init__.py,sha256=7_Kh3l2IBHLE_cM1BXPHgjasa-sRIpqnf_eicQw2RTk,49908
|
208
208
|
ultralytics/utils/autobatch.py,sha256=zc81HlAMArPASEbExty0E_zpITF8PVwin7w-xBFFZ5w,5048
|
209
|
-
ultralytics/utils/benchmarks.py,sha256=
|
209
|
+
ultralytics/utils/benchmarks.py,sha256=enf8emMQ7OcZa6RokvwrNm4ZfW-XS7SBKp57staqGRM,26751
|
210
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
|
@@ -219,7 +219,7 @@ ultralytics/utils/ops.py,sha256=HJ33Z9U1_Fl2MJyiv1JKLb2hTmvQqbeNemqR0lbCZgQ,3457
|
|
219
219
|
ultralytics/utils/patches.py,sha256=ARR89dP4YKq7Dd3g2eU-ukbnc2lo3BELukL_1c_d854,3298
|
220
220
|
ultralytics/utils/plotting.py,sha256=hKji4TyxAmCXdSL264VX6dsC2AZYiL9StShI02dcAOM,62990
|
221
221
|
ultralytics/utils/tal.py,sha256=DO-c006HEI62pcrNRpmt4lpqJPC5yu3veRDOvUuExno,18498
|
222
|
-
ultralytics/utils/torch_utils.py,sha256=
|
222
|
+
ultralytics/utils/torch_utils.py,sha256=mhDD-usOKazv5h44ggJ3A2BX3E2ka-N8Sgo4zcsj2f0,33387
|
223
223
|
ultralytics/utils/triton.py,sha256=2L1_rZ8xCJEjexRVj75g9YU-u4tQln_DJ5N1Yr_0bSs,4071
|
224
224
|
ultralytics/utils/tuner.py,sha256=gySDBzTlq_klTOq6CGEyUN58HXzPCulObaMBHacXzHo,6294
|
225
225
|
ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
|
@@ -230,12 +230,12 @@ ultralytics/utils/callbacks/dvc.py,sha256=4ln4wqU3ZZTK5JfvUmbKfQuIdO6QohDSnFVV4v
|
|
230
230
|
ultralytics/utils/callbacks/hub.py,sha256=bqU83kBnNZ0U9qjm0I9xvM4DWA0VMxSLxQDgjuTZbKM,3977
|
231
231
|
ultralytics/utils/callbacks/mlflow.py,sha256=3y4xOPLZe1bES0ETWGJYywulTEUGv8I849e2TNms8yI,5420
|
232
232
|
ultralytics/utils/callbacks/neptune.py,sha256=waZ_bRu0-qBKujTLuqonC2gx2DkgBuVnfqiBNPr7ssY,3841
|
233
|
-
ultralytics/utils/callbacks/raytune.py,sha256=
|
233
|
+
ultralytics/utils/callbacks/raytune.py,sha256=A_NVWjyPNf2m6iB-mbW7SMpyqM9QBvpbPa-MCMFMtdk,727
|
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.
|
237
|
-
ultralytics-8.3.
|
238
|
-
ultralytics-8.3.
|
239
|
-
ultralytics-8.3.
|
240
|
-
ultralytics-8.3.
|
241
|
-
ultralytics-8.3.
|
236
|
+
ultralytics-8.3.74.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
237
|
+
ultralytics-8.3.74.dist-info/METADATA,sha256=60GpYqC0yL9xkMk7UnjahV3HtaXxBPRWcJAhKkTt3GM,35158
|
238
|
+
ultralytics-8.3.74.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
239
|
+
ultralytics-8.3.74.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
240
|
+
ultralytics-8.3.74.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
241
|
+
ultralytics-8.3.74.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|