ultralytics 8.3.90__py3-none-any.whl → 8.3.92__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
- tests/test_python.py +5 -2
- ultralytics/__init__.py +1 -1
- ultralytics/data/dataset.py +1 -0
- ultralytics/data/utils.py +5 -1
- ultralytics/engine/exporter.py +6 -6
- ultralytics/engine/results.py +3 -1
- ultralytics/hub/session.py +1 -1
- ultralytics/nn/autobackend.py +1 -1
- ultralytics/utils/__init__.py +1 -1
- ultralytics/utils/callbacks/comet.py +7 -2
- ultralytics/utils/plotting.py +1 -0
- {ultralytics-8.3.90.dist-info → ultralytics-8.3.92.dist-info}/METADATA +1 -1
- {ultralytics-8.3.90.dist-info → ultralytics-8.3.92.dist-info}/RECORD +18 -18
- {ultralytics-8.3.90.dist-info → ultralytics-8.3.92.dist-info}/LICENSE +0 -0
- {ultralytics-8.3.90.dist-info → ultralytics-8.3.92.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.90.dist-info → ultralytics-8.3.92.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.90.dist-info → ultralytics-8.3.92.dist-info}/top_level.txt +0 -0
tests/test_exports.py
CHANGED
@@ -150,7 +150,7 @@ def test_export_coreml_matrix(task, dynamic, int8, half, batch):
|
|
150
150
|
for task, dynamic, int8, half, batch, nms in product(
|
151
151
|
TASKS, [False], [True, False], [True, False], [1], [True, False]
|
152
152
|
)
|
153
|
-
if not ((int8 and half) or (task == "classify" and nms))
|
153
|
+
if not ((int8 and half) or (task == "classify" and nms) or (ARM64 and nms))
|
154
154
|
],
|
155
155
|
)
|
156
156
|
def test_export_tflite_matrix(task, dynamic, int8, half, batch, nms):
|
@@ -213,7 +213,7 @@ def test_export_ncnn():
|
|
213
213
|
YOLO(file)(SOURCE, imgsz=32) # exported model inference
|
214
214
|
|
215
215
|
|
216
|
-
@pytest.mark.skipif(True, reason="Test disabled as keras and tensorflow version conflicts with
|
216
|
+
@pytest.mark.skipif(True, reason="Test disabled as keras and tensorflow version conflicts with TFlite export.")
|
217
217
|
@pytest.mark.skipif(not LINUX or MACOS, reason="Skipping test on Windows and Macos")
|
218
218
|
def test_export_imx():
|
219
219
|
"""Test YOLO exports to IMX format."""
|
tests/test_python.py
CHANGED
@@ -209,10 +209,13 @@ def test_train_scratch():
|
|
209
209
|
model(SOURCE)
|
210
210
|
|
211
211
|
|
212
|
-
|
212
|
+
@pytest.mark.parametrize("scls", [False, True])
|
213
|
+
def test_train_pretrained(scls):
|
213
214
|
"""Test training of the YOLO model starting from a pre-trained checkpoint."""
|
214
215
|
model = YOLO(WEIGHTS_DIR / "yolo11n-seg.pt")
|
215
|
-
model.train(
|
216
|
+
model.train(
|
217
|
+
data="coco8-seg.yaml", epochs=1, imgsz=32, cache="ram", copy_paste=0.5, mixup=0.5, name=0, single_cls=scls
|
218
|
+
)
|
216
219
|
model(SOURCE)
|
217
220
|
|
218
221
|
|
ultralytics/__init__.py
CHANGED
ultralytics/data/dataset.py
CHANGED
ultralytics/data/utils.py
CHANGED
@@ -96,7 +96,7 @@ def verify_image(args):
|
|
96
96
|
|
97
97
|
def verify_image_label(args):
|
98
98
|
"""Verify one image-label pair."""
|
99
|
-
im_file, lb_file, prefix, keypoint, num_cls, nkpt, ndim = args
|
99
|
+
im_file, lb_file, prefix, keypoint, num_cls, nkpt, ndim, single_cls = args
|
100
100
|
# Number (missing, found, empty, corrupt), message, segments, keypoints
|
101
101
|
nm, nf, ne, nc, msg, segments, keypoints = 0, 0, 0, 0, "", [], None
|
102
102
|
try:
|
@@ -135,6 +135,8 @@ def verify_image_label(args):
|
|
135
135
|
assert lb.min() >= 0, f"negative label values {lb[lb < 0]}"
|
136
136
|
|
137
137
|
# All labels
|
138
|
+
if single_cls:
|
139
|
+
lb[:, 0] = 0
|
138
140
|
max_cls = lb[:, 0].max() # max label count
|
139
141
|
assert max_cls < num_cls, (
|
140
142
|
f"Label class {int(max_cls)} exceeds dataset class count {num_cls}. "
|
@@ -434,8 +436,10 @@ def check_cls_dataset(dataset, split=""):
|
|
434
436
|
test_set = data_dir / "test" if (data_dir / "test").exists() else None # data/val or data/test
|
435
437
|
if split == "val" and not val_set:
|
436
438
|
LOGGER.warning("WARNING ⚠️ Dataset 'split=val' not found, using 'split=test' instead.")
|
439
|
+
val_set = test_set
|
437
440
|
elif split == "test" and not test_set:
|
438
441
|
LOGGER.warning("WARNING ⚠️ Dataset 'split=test' not found, using 'split=val' instead.")
|
442
|
+
test_set = val_set
|
439
443
|
|
440
444
|
nc = len([x for x in (data_dir / "train").glob("*") if x.is_dir()]) # number of classes
|
441
445
|
names = [x.name for x in (data_dir / "train").iterdir() if x.is_dir()] # class names list
|
ultralytics/engine/exporter.py
CHANGED
@@ -305,12 +305,13 @@ class Exporter:
|
|
305
305
|
assert not getattr(model, "end2end", False), "TFLite INT8 export not supported for end2end models."
|
306
306
|
if self.args.nms:
|
307
307
|
assert not isinstance(model, ClassificationModel), "'nms=True' is not valid for classification models."
|
308
|
+
assert not (tflite and ARM64 and LINUX), "TFLite export with NMS unsupported on ARM64 Linux"
|
308
309
|
if getattr(model, "end2end", False):
|
309
310
|
LOGGER.warning("WARNING ⚠️ 'nms=True' is not available for end2end models. Forcing 'nms=False'.")
|
310
311
|
self.args.nms = False
|
311
312
|
self.args.conf = self.args.conf or 0.25 # set conf default value for nms export
|
312
313
|
if edgetpu:
|
313
|
-
if
|
314
|
+
if not LINUX or ARM64:
|
314
315
|
raise SystemError(
|
315
316
|
"Edge TPU export only supported on non-aarch64 Linux. See https://coral.ai/docs/edgetpu/compiler"
|
316
317
|
)
|
@@ -332,7 +333,7 @@ class Exporter:
|
|
332
333
|
f"Using default 'data={self.args.data}'."
|
333
334
|
)
|
334
335
|
if tfjs and (ARM64 and LINUX):
|
335
|
-
raise SystemError("
|
336
|
+
raise SystemError("TF.js exports are not currently supported on ARM64 Linux")
|
336
337
|
|
337
338
|
# Input
|
338
339
|
im = torch.zeros(self.args.batch, 3, *self.imgsz).to(self.device)
|
@@ -997,9 +998,7 @@ class Exporter:
|
|
997
998
|
try:
|
998
999
|
import tensorflow as tf # noqa
|
999
1000
|
except ImportError:
|
1000
|
-
|
1001
|
-
version = ">=2.0.0"
|
1002
|
-
check_requirements(f"tensorflow{suffix}{version}")
|
1001
|
+
check_requirements("tensorflow>=2.0.0")
|
1003
1002
|
import tensorflow as tf # noqa
|
1004
1003
|
check_requirements(
|
1005
1004
|
(
|
@@ -1007,8 +1006,9 @@ class Exporter:
|
|
1007
1006
|
"tf_keras", # required by 'onnx2tf' package
|
1008
1007
|
"sng4onnx>=1.0.1", # required by 'onnx2tf' package
|
1009
1008
|
"onnx_graphsurgeon>=0.3.26", # required by 'onnx2tf' package
|
1009
|
+
"ai-edge-litert>=1.2.0", # required by 'onnx2tf' package
|
1010
1010
|
"onnx>=1.12.0",
|
1011
|
-
"onnx2tf
|
1011
|
+
"onnx2tf>=1.26.3",
|
1012
1012
|
"onnxslim>=0.1.31",
|
1013
1013
|
"tflite_support<=0.4.3" if IS_JETSON else "tflite_support", # fix ImportError 'GLIBCXX_3.4.29'
|
1014
1014
|
"flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package
|
ultralytics/engine/results.py
CHANGED
@@ -472,6 +472,7 @@ class Results(SimpleClass):
|
|
472
472
|
save=False,
|
473
473
|
filename=None,
|
474
474
|
color_mode="class",
|
475
|
+
txt_color=(255, 255, 255),
|
475
476
|
):
|
476
477
|
"""
|
477
478
|
Plots detection results on an input RGB image.
|
@@ -494,6 +495,7 @@ class Results(SimpleClass):
|
|
494
495
|
save (bool): Whether to save the annotated image.
|
495
496
|
filename (str | None): Filename to save image if save is True.
|
496
497
|
color_mode (bool): Specify the color mode, e.g., 'instance' or 'class'. Default to 'class'.
|
498
|
+
txt_color (tuple[int, int, int]): Specify the RGB text color for classification task
|
497
499
|
|
498
500
|
Returns:
|
499
501
|
(np.ndarray): Annotated image as a numpy array.
|
@@ -569,7 +571,7 @@ class Results(SimpleClass):
|
|
569
571
|
if pred_probs is not None and show_probs:
|
570
572
|
text = ",\n".join(f"{names[j] if names else j} {pred_probs.data[j]:.2f}" for j in pred_probs.top5)
|
571
573
|
x = round(self.orig_shape[0] * 0.03)
|
572
|
-
annotator.text([x, x], text, txt_color=
|
574
|
+
annotator.text([x, x], text, txt_color=txt_color)
|
573
575
|
|
574
576
|
# Plot Pose results
|
575
577
|
if self.keypoints is not None:
|
ultralytics/hub/session.py
CHANGED
@@ -126,7 +126,7 @@ class HUBTrainingSession:
|
|
126
126
|
|
127
127
|
self.model_url = f"{HUB_WEB_ROOT}/models/{self.model.id}"
|
128
128
|
if self.model.is_trained():
|
129
|
-
|
129
|
+
LOGGER.info(f"Loading trained HUB model {self.model_url} 🚀")
|
130
130
|
url = self.model.get_weights_url("best") # download URL with auth
|
131
131
|
self.model_file = checks.check_file(url, download_dir=Path(SETTINGS["weights_dir"]) / "hub" / self.model.id)
|
132
132
|
return
|
ultralytics/nn/autobackend.py
CHANGED
@@ -281,7 +281,7 @@ class AutoBackend(nn.Module):
|
|
281
281
|
elif engine:
|
282
282
|
LOGGER.info(f"Loading {w} for TensorRT inference...")
|
283
283
|
|
284
|
-
if IS_JETSON and PYTHON_VERSION <=
|
284
|
+
if IS_JETSON and check_version(PYTHON_VERSION, "<=3.8.0"):
|
285
285
|
# fix error: `np.bool` was a deprecated alias for the builtin `bool` for JetPack 4 with Python <= 3.8.0
|
286
286
|
check_requirements("numpy==1.23.5")
|
287
287
|
|
ultralytics/utils/__init__.py
CHANGED
@@ -947,7 +947,7 @@ class TryExcept(contextlib.ContextDecorator):
|
|
947
947
|
def __exit__(self, exc_type, value, traceback):
|
948
948
|
"""Defines behavior when exiting a 'with' block, prints error message if necessary."""
|
949
949
|
if self.verbose and value:
|
950
|
-
|
950
|
+
LOGGER.warning(f"{self.msg}{': ' if self.msg else ''}{value}")
|
951
951
|
return True
|
952
952
|
|
953
953
|
|
@@ -378,6 +378,12 @@ def _log_model(experiment, trainer) -> None:
|
|
378
378
|
experiment.log_model(model_name, file_or_folder=str(trainer.best), file_name="best.pt", overwrite=True)
|
379
379
|
|
380
380
|
|
381
|
+
def _log_image_batches(experiment, trainer, curr_step: int) -> None:
|
382
|
+
"""Log samples of images batches for train, validation, and test."""
|
383
|
+
_log_images(experiment, trainer.save_dir.glob("train_batch*.jpg"), curr_step)
|
384
|
+
_log_images(experiment, trainer.save_dir.glob("val_batch*.jpg"), curr_step)
|
385
|
+
|
386
|
+
|
381
387
|
def on_pretrain_routine_start(trainer) -> None:
|
382
388
|
"""Creates or resumes a CometML experiment at the start of a YOLO pre-training routine."""
|
383
389
|
_resume_or_create_experiment(trainer.args)
|
@@ -441,8 +447,7 @@ def on_train_end(trainer) -> None:
|
|
441
447
|
|
442
448
|
_log_confusion_matrix(experiment, trainer, curr_step, curr_epoch)
|
443
449
|
_log_image_predictions(experiment, trainer.validator, curr_step)
|
444
|
-
|
445
|
-
_log_images(experiment, trainer.save_dir.glob("val_batch*.jpg"), curr_step)
|
450
|
+
_log_image_batches(experiment, trainer, curr_step)
|
446
451
|
experiment.end()
|
447
452
|
|
448
453
|
global _comet_image_prediction_count
|
ultralytics/utils/plotting.py
CHANGED
@@ -713,6 +713,7 @@ def plot_images(
|
|
713
713
|
|
714
714
|
# Annotate
|
715
715
|
fs = int((h + w) * ns * 0.01) # font size
|
716
|
+
fs = max(fs, 18) # ensure that the font size is large enough to be easily readable.
|
716
717
|
annotator = Annotator(mosaic, line_width=round(fs / 10), font_size=fs, pil=True, example=names)
|
717
718
|
for i in range(bs):
|
718
719
|
x, y = int(w * (i // ns)), int(h * (i % ns)) # block origin
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.92
|
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>
|
@@ -3,11 +3,11 @@ tests/conftest.py,sha256=4bGHH7rCUSlnvcr8erlpd8vjjsyf7f2pptMjULEhly4,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=2UIeIVJTpBAql_XYFCKcZg7OPlwlzYnaSqOKjalHuSg,9242
|
7
7
|
tests/test_integrations.py,sha256=ZgpddWHEVqiP4bGhVw8fLc2wdz0rCxuxr0FQ2dTgnIE,6067
|
8
|
-
tests/test_python.py,sha256=
|
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=BmyXModBmwZ8NeWAOryh1HvosnjXbv6A7cOoNsCRwk0,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=q5fPqB4xjhjeRO4x84lCELyWPHgO8nCi-pQyg13ESjo,39908
|
@@ -102,21 +102,21 @@ ultralytics/data/augment.py,sha256=wlAbsWqmDIfSB4Ys4iN354FTTnH7SmHueUH19j7JpF4,1
|
|
102
102
|
ultralytics/data/base.py,sha256=kILHN-GWQnIzauJCubZsDVQisR_teql03XUBwZKGePg,18449
|
103
103
|
ultralytics/data/build.py,sha256=56pavLie6PDFEVYChMxnGQGtGsxozYZRpFqC70DRGls,9650
|
104
104
|
ultralytics/data/converter.py,sha256=QHCXroWL_6Mc-4DudX773V09NQVEGR1wVTOJvYJ9YIU,24657
|
105
|
-
ultralytics/data/dataset.py,sha256=
|
105
|
+
ultralytics/data/dataset.py,sha256=ZytVBYRGKP6aUJpt7fDnBH_j9Sz_xABLNy1lWgNPOtM,27964
|
106
106
|
ultralytics/data/loaders.py,sha256=_Gyp_BfGTZwsFdn4UnolXxdU_sAYZLIrv0L2TRI9R5g,28627
|
107
107
|
ultralytics/data/split_dota.py,sha256=J3cGfIMC4K_mFYX0G0XfRwJIwe_8nMjwDlv4mvdqFgA,11872
|
108
|
-
ultralytics/data/utils.py,sha256=
|
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=_4hmCm3MmHXtmBm80uiqISNs9jn9Up7T1TG1q7vQ0T4,77566
|
111
111
|
ultralytics/engine/model.py,sha256=5oR7GAlpCegbOj4h1y-7hKB0YIJFoRbxwA_CufWvaC8,52902
|
112
112
|
ultralytics/engine/predictor.py,sha256=q36ByW23geuLJWiBHi4uD5Qyn4RbfgZP7zxJ_tAfPI8,21626
|
113
|
-
ultralytics/engine/results.py,sha256=
|
113
|
+
ultralytics/engine/results.py,sha256=rV4RG5wfZCv86Y2vVwt-J6Xx7YO20rxLebelZaHGXnk,79716
|
114
114
|
ultralytics/engine/trainer.py,sha256=fLdNmy0FNvoOxkFNh5yc8LR82Z-h5eGaj-fYLVvqbkM,38376
|
115
115
|
ultralytics/engine/tuner.py,sha256=W0e8jMb2GbGUBh33T_dMsWd0vvL_IEpih1Qk7FnxjGw,12205
|
116
116
|
ultralytics/engine/validator.py,sha256=xTAssIEj_xC4cZOT9_HVHv1krxz7yROWAuID_Xt9hng,16974
|
117
117
|
ultralytics/hub/__init__.py,sha256=NuuvSXWvCllF-Mbvet8uipHqhZF5c-Ycv4NOTByfpig,5579
|
118
118
|
ultralytics/hub/auth.py,sha256=QShM9RGDwaNgZlNLfLg9Ui-awj55fTRRK9yFDGlwwZ8,5556
|
119
|
-
ultralytics/hub/session.py,sha256=
|
119
|
+
ultralytics/hub/session.py,sha256=o-mERf4Dtx7rL__fXXQQf_88mvGf6DbU4Ogb75Jrd8g,18731
|
120
120
|
ultralytics/hub/utils.py,sha256=V0N-K-n2cd9lJt_uyue3lsPyjx8-hVAqXauQX3oBE0w,9642
|
121
121
|
ultralytics/hub/google/__init__.py,sha256=jnWMostygAHmZCKjPwalymkNDXQC4bj9-4K6-ay7csA,7532
|
122
122
|
ultralytics/models/__init__.py,sha256=Dtj85wDqat2lgdtCYzGrC1Q5kPQrqk0RPcAhMmWKCXs,293
|
@@ -177,7 +177,7 @@ ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn
|
|
177
177
|
ultralytics/models/yolo/world/train.py,sha256=0YdzItDE2iCmWRq8E9AzD9CwjQ176ZQZPHhXwoUYY7c,4876
|
178
178
|
ultralytics/models/yolo/world/train_world.py,sha256=Cnu5AkwSVIwvmotF7OQ7Zw5nF1UWjAb8QvfSVMVMLtA,6360
|
179
179
|
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
180
|
-
ultralytics/nn/autobackend.py,sha256=
|
180
|
+
ultralytics/nn/autobackend.py,sha256=nsszyvtiO2hzu16wnV8rK6Wga3OTc9g2o_nxg18WycY,38121
|
181
181
|
ultralytics/nn/tasks.py,sha256=bIvE-BPUUFnQAEQ7SuV9DutUlFXIBGsLG9HxB-ZONl0,52678
|
182
182
|
ultralytics/nn/modules/__init__.py,sha256=R_qrw30VU_cgg1YyowVpzAbqh87WfYXkPZe4Og_bQqk,2951
|
183
183
|
ultralytics/nn/modules/activation.py,sha256=_DL_rQw4QmhNO0CaftNR8HRvqNnTGRbmjyD6HGbPjxw,1392
|
@@ -213,7 +213,7 @@ ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6D
|
|
213
213
|
ultralytics/trackers/utils/gmc.py,sha256=0S-RUQQMc91eX0XZJQk1zXz8cAkGXZCnOmccLLyGUp4,14500
|
214
214
|
ultralytics/trackers/utils/kalman_filter.py,sha256=A0CqOnnaKH6kr0XwuHzyHmIU6aJAjJYxF9jVlNBKZHo,21326
|
215
215
|
ultralytics/trackers/utils/matching.py,sha256=7eIufSdeN7cXuFMjvcfvz0Ldq84m4YKZl5IGxBR8IIo,7169
|
216
|
-
ultralytics/utils/__init__.py,sha256=
|
216
|
+
ultralytics/utils/__init__.py,sha256=wL52-seT_KeoINI5XWvtcbBi9-6vq5z3fYpP95j5mbA,49499
|
217
217
|
ultralytics/utils/autobatch.py,sha256=KnvmNSAO_6H3ZLJ4fOFMTFbOaMlbp025LiJqrdKIz8c,4998
|
218
218
|
ultralytics/utils/benchmarks.py,sha256=uw9cpyg0pkvb5Ri1ExDwixtqXBosacYGngLLFU1fKYA,30246
|
219
219
|
ultralytics/utils/checks.py,sha256=nY-tBB-z8u3W0r2pJx8CPTaO1lkycTAKpH7g_Yj0cSg,32629
|
@@ -226,7 +226,7 @@ ultralytics/utils/loss.py,sha256=NKisGlygcaDkBjHcH0Y2G6TpcNKjb7iZ_Dt6WQctNLE,343
|
|
226
226
|
ultralytics/utils/metrics.py,sha256=mCQwIH3am95OR3yvHWTqWAD0Unal7n2MYg4liFFygbA,53669
|
227
227
|
ultralytics/utils/ops.py,sha256=BXoGiBgQbNcU5DSWq8glnVy_8SMkxAn-P9L1o2xTqOQ,34215
|
228
228
|
ultralytics/utils/patches.py,sha256=z72pAlENS3M-SzcSDyolDpwphMrq4XkXXryaIOYwTCo,3327
|
229
|
-
ultralytics/utils/plotting.py,sha256=
|
229
|
+
ultralytics/utils/plotting.py,sha256=zQNo_nSAxOMoki7XwwlP7i08kr8n0FY_mSnhSvdTkv4,46704
|
230
230
|
ultralytics/utils/tal.py,sha256=DuXTErnOn_tXKi9XgS9h_vr_Czn0EO6CKhTtg8gQMwI,20809
|
231
231
|
ultralytics/utils/torch_utils.py,sha256=uklVi3U5QEKx0zNB-5e55Pf3kbk9NzB-ZdJ4UxUvIo0,38569
|
232
232
|
ultralytics/utils/triton.py,sha256=BkOqRroVsY7NbDgX-bJkavgm7CaieXRhN1LweleVFg4,4568
|
@@ -234,7 +234,7 @@ ultralytics/utils/tuner.py,sha256=mJLrORb67FqnTvKD5Y3dM7LxhkMcJpZwWVYfv9yfQ8w,59
|
|
234
234
|
ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
|
235
235
|
ultralytics/utils/callbacks/base.py,sha256=QMdltbVe806lekq-w_7ohpXysoZjuB8gStZ14wPaS78,5877
|
236
236
|
ultralytics/utils/callbacks/clearml.py,sha256=jxTL2QSt8Cjp_BkK2XUDPg5t2XnykMYXJFRp6B66ulA,6005
|
237
|
-
ultralytics/utils/callbacks/comet.py,sha256=
|
237
|
+
ultralytics/utils/callbacks/comet.py,sha256=GoEuJQLJE9MRf5vYO0Swy6bUV86SUBe2fZo7hznPx84,18050
|
238
238
|
ultralytics/utils/callbacks/dvc.py,sha256=tF8oN8_zkXVsjxQmZjUK4klB9I2I-oRdLxkIr1afCys,5168
|
239
239
|
ultralytics/utils/callbacks/hub.py,sha256=dPSeSStRE1x-WYyqrUghCp_VtBxNZ5-Bmb4wW2KYV2Y,4073
|
240
240
|
ultralytics/utils/callbacks/mlflow.py,sha256=olMilfFKKLb9X53sJxFCn-AHnbcvTmXwtU_CVqSqzeE,5434
|
@@ -242,9 +242,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=TQDHJsgAdnMtSdLeQyVTJ1zBdvuwLm-U4U
|
|
242
242
|
ultralytics/utils/callbacks/raytune.py,sha256=p0eGb8UACfnPzZ_bB287NjSd-UmSHF5zAFYKPwVJhj0,706
|
243
243
|
ultralytics/utils/callbacks/tensorboard.py,sha256=rnyja6LpSyixwuL0WKovgARe6RPiX8ORuknlre3VEu4,4255
|
244
244
|
ultralytics/utils/callbacks/wb.py,sha256=sMlA0dTcv3krDd3ppGSgw-wXIo64sPOv9RgdghAsP5k,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.92.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
246
|
+
ultralytics-8.3.92.dist-info/METADATA,sha256=T3ScR-0RjHbGn8I6_Ni5Kq5rMhZR29sZqv5xqhT1wLg,35169
|
247
|
+
ultralytics-8.3.92.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
248
|
+
ultralytics-8.3.92.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
249
|
+
ultralytics-8.3.92.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
250
|
+
ultralytics-8.3.92.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|