ultralytics 8.3.65__py3-none-any.whl → 8.3.66__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 -1
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/__init__.py +1 -6
- ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +1 -8
- ultralytics/data/augment.py +1 -1
- ultralytics/data/split_dota.py +3 -3
- ultralytics/data/utils.py +1 -1
- ultralytics/engine/exporter.py +9 -9
- ultralytics/engine/trainer.py +1 -2
- ultralytics/nn/autobackend.py +1 -1
- ultralytics/nn/modules/block.py +1 -3
- ultralytics/nn/modules/conv.py +1 -1
- ultralytics/nn/tasks.py +5 -1
- ultralytics/trackers/track.py +3 -0
- ultralytics/utils/__init__.py +2 -2
- ultralytics/utils/benchmarks.py +4 -4
- {ultralytics-8.3.65.dist-info → ultralytics-8.3.66.dist-info}/METADATA +1 -1
- {ultralytics-8.3.65.dist-info → ultralytics-8.3.66.dist-info}/RECORD +22 -22
- {ultralytics-8.3.65.dist-info → ultralytics-8.3.66.dist-info}/LICENSE +0 -0
- {ultralytics-8.3.65.dist-info → ultralytics-8.3.66.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.65.dist-info → ultralytics-8.3.66.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.65.dist-info → ultralytics-8.3.66.dist-info}/top_level.txt +0 -0
tests/test_exports.py
CHANGED
@@ -11,6 +11,7 @@ from tests import MODEL, SOURCE
|
|
11
11
|
from ultralytics import YOLO
|
12
12
|
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
13
13
|
from ultralytics.utils import (
|
14
|
+
ARM64,
|
14
15
|
IS_RASPBERRYPI,
|
15
16
|
LINUX,
|
16
17
|
MACOS,
|
@@ -157,7 +158,7 @@ def test_export_tflite_matrix(task, dynamic, int8, half, batch):
|
|
157
158
|
|
158
159
|
@pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
|
159
160
|
@pytest.mark.skipif(WINDOWS, reason="CoreML not supported on Windows") # RuntimeError: BlobWriter not loaded
|
160
|
-
@pytest.mark.skipif(
|
161
|
+
@pytest.mark.skipif(LINUX and ARM64, reason="CoreML not supported on aarch64 Linux")
|
161
162
|
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="CoreML not supported in Python 3.12")
|
162
163
|
def test_export_coreml():
|
163
164
|
"""Test YOLO exports to CoreML format, optimized for macOS only."""
|
ultralytics/__init__.py
CHANGED
ultralytics/cfg/__init__.py
CHANGED
@@ -921,12 +921,7 @@ def entrypoint(debug=""):
|
|
921
921
|
# Task
|
922
922
|
task = overrides.pop("task", None)
|
923
923
|
if task:
|
924
|
-
if task
|
925
|
-
raise ValueError(
|
926
|
-
f"❌ Classification doesn't support 'mode=track'. Valid modes for classification are"
|
927
|
-
f" {MODES - {'track'}}.\n{CLI_HELP_MSG}"
|
928
|
-
)
|
929
|
-
elif task not in TASKS:
|
924
|
+
if task not in TASKS:
|
930
925
|
if task == "track":
|
931
926
|
LOGGER.warning(
|
932
927
|
"WARNING ⚠️ invalid 'task=track', setting 'task=detect' and 'mode=track'. Valid tasks are {TASKS}.\n{CLI_HELP_MSG}."
|
@@ -6,18 +6,11 @@
|
|
6
6
|
|
7
7
|
# Parameters
|
8
8
|
nc: 10 # number of classes
|
9
|
-
scales: # model compound scaling constants, i.e. 'model=yolo11n-cls.yaml' will call yolo11-cls.yaml with scale 'n'
|
10
|
-
# [depth, width, max_channels]
|
11
|
-
n: [0.33, 0.25, 1024]
|
12
|
-
s: [0.33, 0.50, 1024]
|
13
|
-
m: [0.67, 0.75, 1024]
|
14
|
-
l: [1.00, 1.00, 1024]
|
15
|
-
x: [1.00, 1.25, 1024]
|
16
9
|
|
17
10
|
# ResNet18 backbone
|
18
11
|
backbone:
|
19
12
|
# [from, repeats, module, args]
|
20
|
-
- [-1, 1, TorchVision, [512,
|
13
|
+
- [-1, 1, TorchVision, [512, resnet18, DEFAULT, True, 2]] # truncate two layers from the end
|
21
14
|
|
22
15
|
# YOLO11n head
|
23
16
|
head:
|
ultralytics/data/augment.py
CHANGED
@@ -1850,7 +1850,7 @@ class Albumentations:
|
|
1850
1850
|
A.CLAHE(p=0.01),
|
1851
1851
|
A.RandomBrightnessContrast(p=0.0),
|
1852
1852
|
A.RandomGamma(p=0.0),
|
1853
|
-
A.ImageCompression(
|
1853
|
+
A.ImageCompression(quality_range=(75, 100), p=0.0),
|
1854
1854
|
]
|
1855
1855
|
|
1856
1856
|
# Compose transforms
|
ultralytics/data/split_dota.py
CHANGED
@@ -8,9 +8,9 @@ from pathlib import Path
|
|
8
8
|
import cv2
|
9
9
|
import numpy as np
|
10
10
|
from PIL import Image
|
11
|
-
from tqdm import tqdm
|
12
11
|
|
13
12
|
from ultralytics.data.utils import exif_size, img2label_paths
|
13
|
+
from ultralytics.utils import TQDM
|
14
14
|
from ultralytics.utils.checks import check_requirements
|
15
15
|
|
16
16
|
|
@@ -221,7 +221,7 @@ def split_images_and_labels(data_root, save_dir, split="train", crop_sizes=(1024
|
|
221
221
|
lb_dir.mkdir(parents=True, exist_ok=True)
|
222
222
|
|
223
223
|
annos = load_yolo_dota(data_root, split=split)
|
224
|
-
for anno in
|
224
|
+
for anno in TQDM(annos, total=len(annos), desc=split):
|
225
225
|
windows = get_windows(anno["ori_size"], crop_sizes, gaps)
|
226
226
|
window_objs = get_window_obj(anno, windows)
|
227
227
|
crop_and_save(anno, windows, window_objs, str(im_dir), str(lb_dir))
|
@@ -281,7 +281,7 @@ def split_test(data_root, save_dir, crop_size=1024, gap=200, rates=(1.0,)):
|
|
281
281
|
im_dir = Path(data_root) / "images" / "test"
|
282
282
|
assert im_dir.exists(), f"Can't find {im_dir}, please check your data root."
|
283
283
|
im_files = glob(str(im_dir / "*"))
|
284
|
-
for im_file in
|
284
|
+
for im_file in TQDM(im_files, total=len(im_files), desc="test"):
|
285
285
|
w, h = exif_size(Image.open(im_file))
|
286
286
|
windows = get_windows((h, w), crop_sizes=crop_sizes, gaps=gaps)
|
287
287
|
im = cv2.imread(im_file)
|
ultralytics/data/utils.py
CHANGED
@@ -136,7 +136,7 @@ def verify_image_label(args):
|
|
136
136
|
|
137
137
|
# All labels
|
138
138
|
max_cls = lb[:, 0].max() # max label count
|
139
|
-
assert max_cls
|
139
|
+
assert max_cls < num_cls, (
|
140
140
|
f"Label class {int(max_cls)} exceeds dataset class count {num_cls}. "
|
141
141
|
f"Possible class labels are 0-{num_cls - 1}"
|
142
142
|
)
|
ultralytics/engine/exporter.py
CHANGED
@@ -1159,21 +1159,19 @@ class Exporter:
|
|
1159
1159
|
from rknn.api import RKNN
|
1160
1160
|
|
1161
1161
|
f, _ = self.export_onnx()
|
1162
|
-
|
1163
|
-
platform = self.args.name
|
1164
|
-
|
1165
1162
|
export_path = Path(f"{Path(f).stem}_rknn_model")
|
1166
1163
|
export_path.mkdir(exist_ok=True)
|
1167
1164
|
|
1168
1165
|
rknn = RKNN(verbose=False)
|
1169
|
-
rknn.config(mean_values=[[0, 0, 0]], std_values=[[255, 255, 255]], target_platform=
|
1170
|
-
|
1171
|
-
|
1172
|
-
f = f.replace(".onnx", f"-{
|
1173
|
-
|
1166
|
+
rknn.config(mean_values=[[0, 0, 0]], std_values=[[255, 255, 255]], target_platform=self.args.name)
|
1167
|
+
rknn.load_onnx(model=f)
|
1168
|
+
rknn.build(do_quantization=False) # TODO: Add quantization support
|
1169
|
+
f = f.replace(".onnx", f"-{self.args.name}.rknn")
|
1170
|
+
rknn.export_rknn(f"{export_path / f}")
|
1174
1171
|
yaml_save(export_path / "metadata.yaml", self.metadata)
|
1175
1172
|
return export_path, None
|
1176
1173
|
|
1174
|
+
@try_export
|
1177
1175
|
def export_imx(self, prefix=colorstr("IMX:")):
|
1178
1176
|
"""YOLO IMX export."""
|
1179
1177
|
gptq = False
|
@@ -1191,6 +1189,8 @@ class Exporter:
|
|
1191
1189
|
import onnx
|
1192
1190
|
from sony_custom_layers.pytorch.object_detection.nms import multiclass_nms
|
1193
1191
|
|
1192
|
+
LOGGER.info(f"\n{prefix} starting export with model_compression_toolkit {mct.__version__}...")
|
1193
|
+
|
1194
1194
|
try:
|
1195
1195
|
out = subprocess.run(
|
1196
1196
|
["java", "--version"], check=True, capture_output=True
|
@@ -1286,7 +1286,7 @@ class Exporter:
|
|
1286
1286
|
|
1287
1287
|
f = Path(str(self.file).replace(self.file.suffix, "_imx_model"))
|
1288
1288
|
f.mkdir(exist_ok=True)
|
1289
|
-
onnx_model = f / Path(str(self.file).replace(self.file.suffix, "_imx.onnx")) # js dir
|
1289
|
+
onnx_model = f / Path(str(self.file.name).replace(self.file.suffix, "_imx.onnx")) # js dir
|
1290
1290
|
mct.exporter.pytorch_export_model(
|
1291
1291
|
model=quant_model, save_model_path=onnx_model, repr_dataset=representative_dataset_gen
|
1292
1292
|
)
|
ultralytics/engine/trainer.py
CHANGED
@@ -271,7 +271,6 @@ class BaseTrainer:
|
|
271
271
|
)
|
272
272
|
if world_size > 1:
|
273
273
|
self.model = nn.parallel.DistributedDataParallel(self.model, device_ids=[RANK], find_unused_parameters=True)
|
274
|
-
self.set_model_attributes() # set again after DDP wrapper
|
275
274
|
|
276
275
|
# Check imgsz
|
277
276
|
gs = max(int(self.model.stride.max() if hasattr(self.model, "stride") else 32), 32) # grid size (max stride)
|
@@ -782,7 +781,7 @@ class BaseTrainer:
|
|
782
781
|
f"ignoring 'lr0={self.args.lr0}' and 'momentum={self.args.momentum}' and "
|
783
782
|
f"determining best 'optimizer', 'lr0' and 'momentum' automatically... "
|
784
783
|
)
|
785
|
-
nc =
|
784
|
+
nc = self.data.get("nc", 10) # number of classes
|
786
785
|
lr_fit = round(0.002 * 5 / (4 + nc), 6) # lr0 fit equation to 6 decimal places
|
787
786
|
name, lr, momentum = ("SGD", 0.01, 0.9) if iterations > 10000 else ("AdamW", lr_fit, 0.9)
|
788
787
|
self.args.warmup_bias_lr = 0.0 # no higher than 0.01 for Adam
|
ultralytics/nn/autobackend.py
CHANGED
@@ -482,7 +482,7 @@ class AutoBackend(nn.Module):
|
|
482
482
|
w = next(w.rglob("*.rknn")) # get *.rknn file from *_rknn_model dir
|
483
483
|
rknn_model = RKNNLite()
|
484
484
|
rknn_model.load_rknn(w)
|
485
|
-
|
485
|
+
rknn_model.init_runtime()
|
486
486
|
metadata = Path(w).parent / "metadata.yaml"
|
487
487
|
|
488
488
|
# Any other format (unsupported)
|
ultralytics/nn/modules/block.py
CHANGED
@@ -1120,8 +1120,6 @@ class TorchVision(nn.Module):
|
|
1120
1120
|
m (nn.Module): The loaded torchvision model, possibly truncated and unwrapped.
|
1121
1121
|
|
1122
1122
|
Args:
|
1123
|
-
c1 (int): Input channels.
|
1124
|
-
c2 (): Output channels.
|
1125
1123
|
model (str): Name of the torchvision model to load.
|
1126
1124
|
weights (str, optional): Pre-trained weights to load. Default is "DEFAULT".
|
1127
1125
|
unwrap (bool, optional): If True, unwraps the model to a sequential containing all but the last `truncate` layers. Default is True.
|
@@ -1129,7 +1127,7 @@ class TorchVision(nn.Module):
|
|
1129
1127
|
split (bool, optional): Returns output from intermediate child modules as list. Default is False.
|
1130
1128
|
"""
|
1131
1129
|
|
1132
|
-
def __init__(self,
|
1130
|
+
def __init__(self, model, weights="DEFAULT", unwrap=True, truncate=2, split=False):
|
1133
1131
|
"""Load the model and weights from torchvision."""
|
1134
1132
|
import torchvision # scope for faster 'import ultralytics'
|
1135
1133
|
|
ultralytics/nn/modules/conv.py
CHANGED
@@ -336,7 +336,7 @@ class Concat(nn.Module):
|
|
336
336
|
class Index(nn.Module):
|
337
337
|
"""Returns a particular index of the input."""
|
338
338
|
|
339
|
-
def __init__(self,
|
339
|
+
def __init__(self, index=0):
|
340
340
|
"""Returns a particular index of the input."""
|
341
341
|
super().__init__()
|
342
342
|
self.index = index
|
ultralytics/nn/tasks.py
CHANGED
@@ -1060,12 +1060,16 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
|
|
1060
1060
|
m.legacy = legacy
|
1061
1061
|
elif m is RTDETRDecoder: # special case, channels arg must be passed in index 1
|
1062
1062
|
args.insert(1, [ch[x] for x in f])
|
1063
|
-
elif m
|
1063
|
+
elif m is CBLinear:
|
1064
1064
|
c2 = args[0]
|
1065
1065
|
c1 = ch[f]
|
1066
1066
|
args = [c1, c2, *args[1:]]
|
1067
1067
|
elif m is CBFuse:
|
1068
1068
|
c2 = ch[f[-1]]
|
1069
|
+
elif m in frozenset({TorchVision, Index}):
|
1070
|
+
c2 = args[0]
|
1071
|
+
c1 = ch[f]
|
1072
|
+
args = [*args[1:]]
|
1069
1073
|
else:
|
1070
1074
|
c2 = ch[f]
|
1071
1075
|
|
ultralytics/trackers/track.py
CHANGED
@@ -31,6 +31,9 @@ def on_predict_start(predictor: object, persist: bool = False) -> None:
|
|
31
31
|
>>> predictor = SomePredictorClass()
|
32
32
|
>>> on_predict_start(predictor, persist=True)
|
33
33
|
"""
|
34
|
+
if predictor.args.task == "classify":
|
35
|
+
raise ValueError("❌ Classification doesn't support 'mode=track'")
|
36
|
+
|
34
37
|
if hasattr(predictor, "trackers") and persist:
|
35
38
|
return
|
36
39
|
|
ultralytics/utils/__init__.py
CHANGED
@@ -23,8 +23,8 @@ import cv2
|
|
23
23
|
import matplotlib.pyplot as plt
|
24
24
|
import numpy as np
|
25
25
|
import torch
|
26
|
+
import tqdm
|
26
27
|
import yaml
|
27
|
-
from tqdm import tqdm as tqdm_original
|
28
28
|
|
29
29
|
from ultralytics import __version__
|
30
30
|
|
@@ -133,7 +133,7 @@ os.environ["TORCH_CPP_LOG_LEVEL"] = "ERROR" # suppress "NNPACK.cpp could not in
|
|
133
133
|
os.environ["KINETO_LOG_LEVEL"] = "5" # suppress verbose PyTorch profiler output when computing FLOPs
|
134
134
|
|
135
135
|
|
136
|
-
class TQDM(
|
136
|
+
class TQDM(tqdm.tqdm):
|
137
137
|
"""
|
138
138
|
A custom TQDM progress bar class that extends the original tqdm functionality.
|
139
139
|
|
ultralytics/utils/benchmarks.py
CHANGED
@@ -41,7 +41,7 @@ import yaml
|
|
41
41
|
from ultralytics import YOLO, YOLOWorld
|
42
42
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
43
43
|
from ultralytics.engine.exporter import export_formats
|
44
|
-
from ultralytics.utils import ARM64, ASSETS,
|
44
|
+
from ultralytics.utils import ARM64, ASSETS, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
45
45
|
from ultralytics.utils.checks import IS_PYTHON_3_12, check_requirements, check_yolo, is_rockchip
|
46
46
|
from ultralytics.utils.downloads import safe_download
|
47
47
|
from ultralytics.utils.files import file_size
|
@@ -100,9 +100,9 @@ def benchmark(
|
|
100
100
|
elif i == 9: # Edge TPU
|
101
101
|
assert LINUX and not ARM64, "Edge TPU export only supported on non-aarch64 Linux"
|
102
102
|
elif i in {5, 10}: # CoreML and TF.js
|
103
|
-
assert MACOS or LINUX
|
104
|
-
|
105
|
-
|
103
|
+
assert MACOS or (LINUX and not ARM64), (
|
104
|
+
"CoreML and TF.js export only supported on macOS and non-aarch64 Linux"
|
105
|
+
)
|
106
106
|
if i in {5}: # CoreML
|
107
107
|
assert not IS_PYTHON_3_12, "CoreML not supported on Python 3.12"
|
108
108
|
if i in {6, 7, 8}: # TF SavedModel, TF GraphDef, and TFLite
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.66
|
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,14 +3,14 @@ tests/conftest.py,sha256=DE4-5JqWhsQPyDhU5hHqRevz971yPBQORs3LitLc6Fo,3010
|
|
3
3
|
tests/test_cli.py,sha256=b9pPCu6x_MejPw-G7TI3wxSZnaMmutcXW7aCzMzz4ig,5076
|
4
4
|
tests/test_cuda.py,sha256=inPe0f_L0GutDxYLbe49BPEmjMevaS9XXCWX1Lfjo2g,5971
|
5
5
|
tests/test_engine.py,sha256=aGqZ8P7QO5C_nOa1b4FOyk92Ysdk5WiP-ST310Vyxys,4962
|
6
|
-
tests/test_exports.py,sha256=
|
6
|
+
tests/test_exports.py,sha256=dEWZpDaHrBjGOeQB9DjkSL1T1xFVJm-T3jQpKZ0tdtc,8807
|
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=sh3HIVlUYFfloK-ybLmXhVKJtGCbgPOESjbR3oBXmdY,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=qP44HnFP4QcC5FQz29A-EGTuwdtxXAzPvw_IvCVmiqA,39771
|
14
14
|
ultralytics/cfg/default.yaml,sha256=tHE_VB_tzq5K1BntCCukmFIViwiRv0R-H6ZNucCnYsY,8469
|
15
15
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=W225bp0LpIKbn8qrApX4W0jGUJc5tPKQNJjVdkInzJo,3163
|
16
16
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
|
@@ -42,7 +42,7 @@ ultralytics/cfg/datasets/package-seg.yaml,sha256=uechtCYfX8OrJrO5zV1-uGwbr69lUSu
|
|
42
42
|
ultralytics/cfg/datasets/signature.yaml,sha256=eABYny9n4w3RleR3RQmb505DiBll8R5cvcjWj8wkuf0,789
|
43
43
|
ultralytics/cfg/datasets/tiger-pose.yaml,sha256=gCQc1AX04Xfhnms4czm7R_XnT2XFL2u-t3M8Yya20ds,925
|
44
44
|
ultralytics/cfg/datasets/xView.yaml,sha256=q33mdKXN7B0tt2zeCvoy0BB9B0RVSIM5K94b2-tIkLo,5246
|
45
|
-
ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=
|
45
|
+
ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=rMwOjwrHuYmZUN9ct_rHAV8bExHDK2U6VeD-U23XdWg,522
|
46
46
|
ultralytics/cfg/models/11/yolo11-cls.yaml,sha256=jWDUCRPe5UGTphXpi9kQSnJ_wg_Ga_9Gq20KuD_NMaU,1416
|
47
47
|
ultralytics/cfg/models/11/yolo11-obb.yaml,sha256=x8XDI2WvbBDre79eslYafBDvu6AmdGbOzTfnq5UhmVM,2034
|
48
48
|
ultralytics/cfg/models/11/yolo11-pose.yaml,sha256=RUe-8rIrrYWItv0GMo_VaO9JfrK2NJSXfbhv0NOq9dk,2128
|
@@ -93,20 +93,20 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=D9doE5GQUe6HrAFzr7OfQFIGPFk0M_vJ0B_
|
|
93
93
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
|
94
94
|
ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
|
95
95
|
ultralytics/data/annotator.py,sha256=jbKHB5l5IYOG1YOgCxA6czU_ivb3NPAACrtPe6-bVn4,3145
|
96
|
-
ultralytics/data/augment.py,sha256=
|
96
|
+
ultralytics/data/augment.py,sha256=sQDtIPD0P2pm_t-dI87hZt9KTB2PDN0JT_7AekHctRw,120726
|
97
97
|
ultralytics/data/base.py,sha256=NTNdn-Emgx3Z2vats8i8oEe-9yosPmHd53v1A0xz0EU,15196
|
98
98
|
ultralytics/data/build.py,sha256=gOU5SNABBNxwo5012N--WhjEnLK2ewycXIryMpbHg6U,7685
|
99
99
|
ultralytics/data/converter.py,sha256=89E44LBCpbn5hMF03Kdts6DaTP8Oei5iCra5enFCt5I,24467
|
100
100
|
ultralytics/data/dataset.py,sha256=lxtH3JytNu6nsiPAIhe0uGuGGpkZ4ZRqvXM6eJw9rXU,23244
|
101
101
|
ultralytics/data/loaders.py,sha256=JOwXbz-dxgG2bx0_cQHp-olz5FleoCX8EzrUvZ77vvg,28534
|
102
|
-
ultralytics/data/split_dota.py,sha256=
|
103
|
-
ultralytics/data/utils.py,sha256=
|
102
|
+
ultralytics/data/split_dota.py,sha256=YI-i2MqdiBt06W67TJnBXQHJrqTnkJDJ3zzoL0UZVro,10733
|
103
|
+
ultralytics/data/utils.py,sha256=K8xyA1xHLpaeluUbqOl5fy6AWZ6nDciCBZJofjxzOuw,33841
|
104
104
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
105
|
-
ultralytics/engine/exporter.py,sha256=
|
105
|
+
ultralytics/engine/exporter.py,sha256=9xs7d1TGZecLmNg9ECra0oRclAOac0bjX9nXOf9tqPQ,70916
|
106
106
|
ultralytics/engine/model.py,sha256=IHeaCwXlbxs6f2gVF5hEQVUiY-3F9Oz1wJNSTPZ-tZ0,53110
|
107
107
|
ultralytics/engine/predictor.py,sha256=jiYDAjupOlRUpPvw9tu7or9PjXtLm-YCRiawANtWxj0,17881
|
108
108
|
ultralytics/engine/results.py,sha256=ZIvu8Qb_ylmu92Jfy6m0IcRnenFpdVKaq-DZrfubKoo,75114
|
109
|
-
ultralytics/engine/trainer.py,sha256=
|
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
|
112
112
|
ultralytics/hub/__init__.py,sha256=1ifzSYV0PIT4ZWOm2V7HnpGyY3G3hCz0malw3AXHFlY,5660
|
@@ -172,12 +172,12 @@ ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn
|
|
172
172
|
ultralytics/models/yolo/world/train.py,sha256=6PVmQ0G-22OOPPwP_rqSobe2LM6e2b_lC7lJCdW3UIk,3714
|
173
173
|
ultralytics/models/yolo/world/train_world.py,sha256=sCtg4Hnq9Y7amYjlQsdvTHXH8cKSooipvcXu_1Iyb2k,4885
|
174
174
|
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
175
|
-
ultralytics/nn/autobackend.py,sha256=
|
176
|
-
ultralytics/nn/tasks.py,sha256=
|
175
|
+
ultralytics/nn/autobackend.py,sha256=6h8yg7X7U7mqJjflxFP9Vv2SFsAgoQ-UKBrIZ3v4ihg,36797
|
176
|
+
ultralytics/nn/tasks.py,sha256=Qe9EZ7NBDT5zOFAqJSl5XhYWnMDByuQL80r6pP0TuDM,48892
|
177
177
|
ultralytics/nn/modules/__init__.py,sha256=02dPoAMtpPNQdHXHmvJeWZvJ_WG6eqwH8atLdFWgcuY,2713
|
178
178
|
ultralytics/nn/modules/activation.py,sha256=oRkhMdqlNpIxQb35pTSUeHV-h0VyLl96GOqvIZ4OvT8,923
|
179
|
-
ultralytics/nn/modules/block.py,sha256=
|
180
|
-
ultralytics/nn/modules/conv.py,sha256=
|
179
|
+
ultralytics/nn/modules/block.py,sha256=vQqfKIXPmEnxupdzcLDGC5FkjCNIqURfqt4CEEseuXE,43940
|
180
|
+
ultralytics/nn/modules/conv.py,sha256=Wx_tZ56M7iMiNqz3v03oi86C2fatdmdBBDpkrUyzEIU,13132
|
181
181
|
ultralytics/nn/modules/head.py,sha256=RYT31wplr64yDSHLpEZy3fyqg9W8HWlXWKrltwpqGiQ,27962
|
182
182
|
ultralytics/nn/modules/transformer.py,sha256=fdc4xam82Dk8etahkhlc5RHW6dfY00klKj2od4QpdQo,18097
|
183
183
|
ultralytics/nn/modules/utils.py,sha256=AA2M6ZyBgmnMXUuiqJ5aSpQv2h1BmmcWuBVA1343nZg,3223
|
@@ -199,14 +199,14 @@ ultralytics/trackers/__init__.py,sha256=Zlu_Ig5osn7hqch_g5Be_e4pwZUkeeTQiesJCi0p
|
|
199
199
|
ultralytics/trackers/basetrack.py,sha256=h0fcxzCdZf_56H1NG_mCIATaz_cWj0e9aJKE1xgmtFQ,4451
|
200
200
|
ultralytics/trackers/bot_sort.py,sha256=xUmlj0agS0PGjy97N3C0jLMV07yvsurE5QcnuoV_Ecw,10522
|
201
201
|
ultralytics/trackers/byte_tracker.py,sha256=CT_Yjw2ahHoprEfNcTM0hBMoGss5qcqt6Paxk956lYU,20846
|
202
|
-
ultralytics/trackers/track.py,sha256=
|
202
|
+
ultralytics/trackers/track.py,sha256=RWG2sc2HkGaajwLMZp7A_5HusxYKNR8gky4igvZpzug,4021
|
203
203
|
ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
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=BG71Eb5UwMtVi7ccUhV9n2mZzshAJzl7_X0YMpoNFzc,49799
|
208
208
|
ultralytics/utils/autobatch.py,sha256=zc81HlAMArPASEbExty0E_zpITF8PVwin7w-xBFFZ5w,5048
|
209
|
-
ultralytics/utils/benchmarks.py,sha256=
|
209
|
+
ultralytics/utils/benchmarks.py,sha256=o9T7xfwhMsrOP0ce3F654L1an3fIoBKxUKz1CHNXerw,25979
|
210
210
|
ultralytics/utils/checks.py,sha256=P543iMxEbXi0WWGrY67GaA7jIsas63K4uCSZpqmVx8M,31017
|
211
211
|
ultralytics/utils/dist.py,sha256=fuiJQEnyyL-SighlI3hUlZPaaSreUl4Q39snF6OhQtI,2386
|
212
212
|
ultralytics/utils/downloads.py,sha256=aUESyJOE2d7mJwbGECHWLR3RF8HVQPSwNH0cfmLGgdI,21999
|
@@ -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.
|
237
|
-
ultralytics-8.3.
|
238
|
-
ultralytics-8.3.
|
239
|
-
ultralytics-8.3.
|
240
|
-
ultralytics-8.3.
|
241
|
-
ultralytics-8.3.
|
236
|
+
ultralytics-8.3.66.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
237
|
+
ultralytics-8.3.66.dist-info/METADATA,sha256=cCTTDdai2Jw3CYmdmlBFzJRbsw-KLJRoIk-dAhG_dNU,35202
|
238
|
+
ultralytics-8.3.66.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
239
|
+
ultralytics-8.3.66.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
240
|
+
ultralytics-8.3.66.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
241
|
+
ultralytics-8.3.66.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|