ultralytics 8.2.64__py3-none-any.whl → 8.2.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.
Potentially problematic release.
This version of ultralytics might be problematic. Click here for more details.
- ultralytics/__init__.py +1 -1
- ultralytics/data/dataset.py +6 -0
- ultralytics/data/loaders.py +1 -1
- ultralytics/engine/model.py +2 -1
- ultralytics/engine/trainer.py +2 -7
- ultralytics/hub/session.py +6 -4
- ultralytics/models/yolo/detect/val.py +1 -1
- ultralytics/nn/modules/activation.py +22 -0
- ultralytics/nn/tasks.py +1 -1
- ultralytics/utils/checks.py +4 -4
- ultralytics/utils/torch_utils.py +0 -7
- {ultralytics-8.2.64.dist-info → ultralytics-8.2.66.dist-info}/METADATA +2 -1
- {ultralytics-8.2.64.dist-info → ultralytics-8.2.66.dist-info}/RECORD +17 -16
- {ultralytics-8.2.64.dist-info → ultralytics-8.2.66.dist-info}/LICENSE +0 -0
- {ultralytics-8.2.64.dist-info → ultralytics-8.2.66.dist-info}/WHEEL +0 -0
- {ultralytics-8.2.64.dist-info → ultralytics-8.2.66.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.2.64.dist-info → ultralytics-8.2.66.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/data/dataset.py
CHANGED
|
@@ -431,6 +431,12 @@ class ClassificationDataset:
|
|
|
431
431
|
self.samples = self.samples[: round(len(self.samples) * args.fraction)]
|
|
432
432
|
self.prefix = colorstr(f"{prefix}: ") if prefix else ""
|
|
433
433
|
self.cache_ram = args.cache is True or str(args.cache).lower() == "ram" # cache images into RAM
|
|
434
|
+
if self.cache_ram:
|
|
435
|
+
LOGGER.warning(
|
|
436
|
+
"WARNING ⚠️ Classification `cache_ram` training has known memory leak in "
|
|
437
|
+
"https://github.com/ultralytics/ultralytics/issues/9824, setting `cache_ram=False`."
|
|
438
|
+
)
|
|
439
|
+
self.cache_ram = False
|
|
434
440
|
self.cache_disk = str(args.cache).lower() == "disk" # cache images on hard drive as uncompressed *.npy files
|
|
435
441
|
self.samples = self.verify_images() # filter out bad images
|
|
436
442
|
self.samples = [list(x) + [Path(x[0]).with_suffix(".npy"), None] for x in self.samples] # file, index, npy, im
|
ultralytics/data/loaders.py
CHANGED
|
@@ -545,7 +545,7 @@ def get_best_youtube_url(url, method="pytube"):
|
|
|
545
545
|
"""
|
|
546
546
|
if method == "pytube":
|
|
547
547
|
# Switched from pytube to pytubefix to resolve https://github.com/pytube/pytube/issues/1954
|
|
548
|
-
check_requirements("pytubefix
|
|
548
|
+
check_requirements("pytubefix>=6.5.2")
|
|
549
549
|
from pytubefix import YouTube
|
|
550
550
|
|
|
551
551
|
streams = YouTube(url).streams.filter(file_extension="mp4", only_video=True)
|
ultralytics/engine/model.py
CHANGED
|
@@ -17,6 +17,7 @@ from ultralytics.utils import (
|
|
|
17
17
|
DEFAULT_CFG_DICT,
|
|
18
18
|
LOGGER,
|
|
19
19
|
RANK,
|
|
20
|
+
SETTINGS,
|
|
20
21
|
callbacks,
|
|
21
22
|
checks,
|
|
22
23
|
emojis,
|
|
@@ -286,7 +287,7 @@ class Model(nn.Module):
|
|
|
286
287
|
>>> model._load('path/to/weights.pth', task='detect')
|
|
287
288
|
"""
|
|
288
289
|
if weights.lower().startswith(("https://", "http://", "rtsp://", "rtmp://", "tcp://")):
|
|
289
|
-
weights = checks.check_file(weights) #
|
|
290
|
+
weights = checks.check_file(weights, download_dir=SETTINGS["weights_dir"]) # download and return local file
|
|
290
291
|
weights = checks.check_model_file_from_stem(weights) # add suffix, i.e. yolov8n -> yolov8n.pt
|
|
291
292
|
|
|
292
293
|
if Path(weights).suffix == ".pt":
|
ultralytics/engine/trainer.py
CHANGED
|
@@ -41,7 +41,6 @@ from ultralytics.utils.checks import check_amp, check_file, check_imgsz, check_m
|
|
|
41
41
|
from ultralytics.utils.dist import ddp_cleanup, generate_ddp_command
|
|
42
42
|
from ultralytics.utils.files import get_latest_run
|
|
43
43
|
from ultralytics.utils.torch_utils import (
|
|
44
|
-
TORCH_1_13,
|
|
45
44
|
EarlyStopping,
|
|
46
45
|
ModelEMA,
|
|
47
46
|
autocast,
|
|
@@ -266,11 +265,7 @@ class BaseTrainer:
|
|
|
266
265
|
if RANK > -1 and world_size > 1: # DDP
|
|
267
266
|
dist.broadcast(self.amp, src=0) # broadcast the tensor from rank 0 to all other ranks (returns None)
|
|
268
267
|
self.amp = bool(self.amp) # as boolean
|
|
269
|
-
self.scaler = (
|
|
270
|
-
torch.amp.GradScaler("cuda", enabled=self.amp)
|
|
271
|
-
if TORCH_1_13
|
|
272
|
-
else torch.cuda.amp.GradScaler(enabled=self.amp)
|
|
273
|
-
)
|
|
268
|
+
self.scaler = torch.cuda.amp.GradScaler(enabled=self.amp)
|
|
274
269
|
if world_size > 1:
|
|
275
270
|
self.model = nn.parallel.DistributedDataParallel(self.model, device_ids=[RANK], find_unused_parameters=True)
|
|
276
271
|
|
|
@@ -512,7 +507,7 @@ class BaseTrainer:
|
|
|
512
507
|
self.last.write_bytes(serialized_ckpt) # save last.pt
|
|
513
508
|
if self.best_fitness == self.fitness:
|
|
514
509
|
self.best.write_bytes(serialized_ckpt) # save best.pt
|
|
515
|
-
if (self.save_period > 0) and (self.epoch
|
|
510
|
+
if (self.save_period > 0) and (self.epoch % self.save_period == 0):
|
|
516
511
|
(self.wdir / f"epoch{self.epoch}.pt").write_bytes(serialized_ckpt) # save epoch, i.e. 'epoch3.pt'
|
|
517
512
|
|
|
518
513
|
def get_dataset(self):
|
ultralytics/hub/session.py
CHANGED
|
@@ -48,6 +48,7 @@ class HUBTrainingSession:
|
|
|
48
48
|
self.timers = {} # holds timers in ultralytics/utils/callbacks/hub.py
|
|
49
49
|
self.model = None
|
|
50
50
|
self.model_url = None
|
|
51
|
+
self.model_file = None
|
|
51
52
|
|
|
52
53
|
# Parse input
|
|
53
54
|
api_key, model_id, self.filename = self._parse_identifier(identifier)
|
|
@@ -91,10 +92,13 @@ class HUBTrainingSession:
|
|
|
91
92
|
raise ValueError(emojis("❌ The specified HUB model does not exist")) # TODO: improve error handling
|
|
92
93
|
|
|
93
94
|
self.model_url = f"{HUB_WEB_ROOT}/models/{self.model.id}"
|
|
95
|
+
if self.model.is_trained():
|
|
96
|
+
print(emojis(f"Loading trained HUB model {self.model_url} 🚀"))
|
|
97
|
+
self.model_file = self.model.get_weights_url("best")
|
|
98
|
+
return
|
|
94
99
|
|
|
100
|
+
# Set training args and start heartbeats for HUB to monitor agent
|
|
95
101
|
self._set_train_args()
|
|
96
|
-
|
|
97
|
-
# Start heartbeats for HUB to monitor agent
|
|
98
102
|
self.model.start_heartbeat(self.rate_limits["heartbeat"])
|
|
99
103
|
LOGGER.info(f"{PREFIX}View model at {self.model_url} 🚀")
|
|
100
104
|
|
|
@@ -195,8 +199,6 @@ class HUBTrainingSession:
|
|
|
195
199
|
ValueError: If the model is already trained, if required dataset information is missing, or if there are
|
|
196
200
|
issues with the provided training arguments.
|
|
197
201
|
"""
|
|
198
|
-
if self.model.is_trained():
|
|
199
|
-
raise ValueError(emojis(f"Model is already trained and uploaded to {self.model_url} 🚀"))
|
|
200
202
|
|
|
201
203
|
if self.model.is_resumable():
|
|
202
204
|
# Model has saved weights
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
|
+
"""Activation modules."""
|
|
3
|
+
|
|
4
|
+
import torch
|
|
5
|
+
import torch.nn as nn
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AGLU(nn.Module):
|
|
9
|
+
"""Unified activation function module from https://github.com/kostas1515/AGLU."""
|
|
10
|
+
|
|
11
|
+
def __init__(self, device=None, dtype=None) -> None:
|
|
12
|
+
"""Initialize the Unified activation function."""
|
|
13
|
+
super().__init__()
|
|
14
|
+
self.act = nn.Softplus(beta=-1.0)
|
|
15
|
+
self.lambd = nn.Parameter(nn.init.uniform_(torch.empty(1, device=device, dtype=dtype))) # lambda parameter
|
|
16
|
+
self.kappa = nn.Parameter(nn.init.uniform_(torch.empty(1, device=device, dtype=dtype))) # kappa parameter
|
|
17
|
+
|
|
18
|
+
def forward(self, x: torch.Tensor) -> torch.Tensor:
|
|
19
|
+
"""Compute the forward pass of the Unified activation function."""
|
|
20
|
+
lam = torch.clamp(self.lambd, min=0.0001)
|
|
21
|
+
y = torch.exp((1 / lam) * self.act((self.kappa * x) - torch.log(lam)))
|
|
22
|
+
return y # for AGLU simply return y * input
|
ultralytics/nn/tasks.py
CHANGED
|
@@ -66,13 +66,13 @@ from ultralytics.utils.loss import (
|
|
|
66
66
|
v8PoseLoss,
|
|
67
67
|
v8SegmentationLoss,
|
|
68
68
|
)
|
|
69
|
+
from ultralytics.utils.ops import make_divisible
|
|
69
70
|
from ultralytics.utils.plotting import feature_visualization
|
|
70
71
|
from ultralytics.utils.torch_utils import (
|
|
71
72
|
fuse_conv_and_bn,
|
|
72
73
|
fuse_deconv_and_bn,
|
|
73
74
|
initialize_weights,
|
|
74
75
|
intersect_dicts,
|
|
75
|
-
make_divisible,
|
|
76
76
|
model_info,
|
|
77
77
|
scale_img,
|
|
78
78
|
time_sync,
|
ultralytics/utils/checks.py
CHANGED
|
@@ -484,7 +484,7 @@ def check_model_file_from_stem(model="yolov8n"):
|
|
|
484
484
|
return model
|
|
485
485
|
|
|
486
486
|
|
|
487
|
-
def check_file(file, suffix="", download=True, hard=True):
|
|
487
|
+
def check_file(file, suffix="", download=True, download_dir=".", hard=True):
|
|
488
488
|
"""Search/download file (if necessary) and return path."""
|
|
489
489
|
check_suffix(file, suffix) # optional
|
|
490
490
|
file = str(file).strip() # convert to string and strip spaces
|
|
@@ -497,12 +497,12 @@ def check_file(file, suffix="", download=True, hard=True):
|
|
|
497
497
|
return file
|
|
498
498
|
elif download and file.lower().startswith(("https://", "http://", "rtsp://", "rtmp://", "tcp://")): # download
|
|
499
499
|
url = file # warning: Pathlib turns :// -> :/
|
|
500
|
-
file = url2file(file) # '%2F' to '/', split https://url.com/file.txt?auth
|
|
501
|
-
if
|
|
500
|
+
file = Path(download_dir) / url2file(file) # '%2F' to '/', split https://url.com/file.txt?auth
|
|
501
|
+
if file.exists():
|
|
502
502
|
LOGGER.info(f"Found {clean_url(url)} locally at {file}") # file already exists
|
|
503
503
|
else:
|
|
504
504
|
downloads.safe_download(url=url, file=file, unzip=False)
|
|
505
|
-
return file
|
|
505
|
+
return str(file)
|
|
506
506
|
else: # search
|
|
507
507
|
files = glob.glob(str(ROOT / "**" / file), recursive=True) or glob.glob(str(ROOT.parent / file)) # find file
|
|
508
508
|
if not files and hard:
|
ultralytics/utils/torch_utils.py
CHANGED
|
@@ -424,13 +424,6 @@ def scale_img(img, ratio=1.0, same_shape=False, gs=32):
|
|
|
424
424
|
return F.pad(img, [0, w - s[1], 0, h - s[0]], value=0.447) # value = imagenet mean
|
|
425
425
|
|
|
426
426
|
|
|
427
|
-
def make_divisible(x, divisor):
|
|
428
|
-
"""Returns nearest x divisible by divisor."""
|
|
429
|
-
if isinstance(divisor, torch.Tensor):
|
|
430
|
-
divisor = int(divisor.max()) # to int
|
|
431
|
-
return math.ceil(x / divisor) * divisor
|
|
432
|
-
|
|
433
|
-
|
|
434
427
|
def copy_attr(a, b, include=(), exclude=()):
|
|
435
428
|
"""Copies attributes from object 'b' to object 'a', with options to include/exclude certain attributes."""
|
|
436
429
|
for k, v in b.__dict__.items():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.66
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -69,6 +69,7 @@ Requires-Dist: keras ; extra == 'export'
|
|
|
69
69
|
Requires-Dist: flatbuffers <100,>=23.5.26 ; (platform_machine == "aarch64") and extra == 'export'
|
|
70
70
|
Requires-Dist: numpy ==1.23.5 ; (platform_machine == "aarch64") and extra == 'export'
|
|
71
71
|
Requires-Dist: h5py !=3.11.0 ; (platform_machine == "aarch64") and extra == 'export'
|
|
72
|
+
Requires-Dist: tensorstore >=0.1.63 ; (platform_machine == "aarch64" and python_version >= "3.9") and extra == 'export'
|
|
72
73
|
Requires-Dist: coremltools >=7.0 ; (platform_system != "Windows" and python_version <= "3.11") and extra == 'export'
|
|
73
74
|
Provides-Extra: extra
|
|
74
75
|
Requires-Dist: hub-sdk >=0.0.8 ; extra == 'extra'
|
|
@@ -8,7 +8,7 @@ tests/test_exports.py,sha256=Uezf3OatpPHlo5qoPw-2kqkZxuMCF9L4XF2riD4vmII,8225
|
|
|
8
8
|
tests/test_integrations.py,sha256=xglcfMPjfVh346PV8WTpk6tBxraCXEFJEQyyJMr5tyU,6064
|
|
9
9
|
tests/test_python.py,sha256=cLK8dyRf_4H_znFIm-krnOFMydwkxKlVZvHwl9vbck8,21780
|
|
10
10
|
tests/test_solutions.py,sha256=EACnPXbeJe2aVTOKfqMk5jclKKCWCVgFEzjpR6y7Sh8,3304
|
|
11
|
-
ultralytics/__init__.py,sha256=
|
|
11
|
+
ultralytics/__init__.py,sha256=DI1GNRiF17xoRSVrHICeAxCcgyfbcZCnWdhJ6PdQUj8,694
|
|
12
12
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
|
13
13
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
|
14
14
|
ultralytics/cfg/__init__.py,sha256=fD3Llw12sIkJo4g667t6b051je9nEpwdBLGgbbVEzHY,32973
|
|
@@ -88,8 +88,8 @@ ultralytics/data/augment.py,sha256=iYkTgHkmYZByMCgmdarX2M6xihKsJN1SXC9g7vaUETE,1
|
|
|
88
88
|
ultralytics/data/base.py,sha256=C3teLnw97ZTbpJHT9P7yYWosAKocMzgJjRe1rxgfpls,13524
|
|
89
89
|
ultralytics/data/build.py,sha256=AfMmz0sHIYmwry_90tEJFRk_kz0S3SolScVXqYHiT08,7261
|
|
90
90
|
ultralytics/data/converter.py,sha256=7640xKuf7LPeoTwoCvgbIXM5xbzyq72Hu2Rf2lrgjRY,17554
|
|
91
|
-
ultralytics/data/dataset.py,sha256=
|
|
92
|
-
ultralytics/data/loaders.py,sha256=
|
|
91
|
+
ultralytics/data/dataset.py,sha256=ZBnO9KPVOJXwKQbN2LlmROIxLEb0mtppVQlrC4sX3oE,22879
|
|
92
|
+
ultralytics/data/loaders.py,sha256=vy71TzKAPqohCp4MDNQpia2CR1LaOxAU5eA14DonJoU,24085
|
|
93
93
|
ultralytics/data/split_dota.py,sha256=fWezt1Bo3jiZ6AyUWdBtTUuvLamPv1t7JD-DirM9gQ8,10142
|
|
94
94
|
ultralytics/data/utils.py,sha256=GHmqx6e5yRfcUD2Qkwk-tQfhXCwtUMFD3Uf6d699nGo,31046
|
|
95
95
|
ultralytics/data/explorer/__init__.py,sha256=-Y3m1ZedepOQUv_KW82zaGxvU_PSHcuwUTFqG9BhAr4,113
|
|
@@ -99,15 +99,15 @@ ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2
|
|
|
99
99
|
ultralytics/data/explorer/gui/dash.py,sha256=vZ476NaUH4FKU08rAJ1K9WNyKtg0soMyJJxqg176yWc,10498
|
|
100
100
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
101
101
|
ultralytics/engine/exporter.py,sha256=EM35MOPWbIKE2ShJsPzdrEmrjzwZSp9gW-rO8GEFal0,58905
|
|
102
|
-
ultralytics/engine/model.py,sha256=
|
|
102
|
+
ultralytics/engine/model.py,sha256=8YSxLan1OfV_IynCQjAzaGS4gCWTEbGLfUWnfTDxhsE,52047
|
|
103
103
|
ultralytics/engine/predictor.py,sha256=W58kDCFH2AfoFzpGbos3k8zUEVsLunBuM8sc2B64rPY,17449
|
|
104
104
|
ultralytics/engine/results.py,sha256=oNAzSKdKxxx_5QQd9opzCevvgPhspdY5BkWxoz5bQ8E,69882
|
|
105
|
-
ultralytics/engine/trainer.py,sha256=
|
|
105
|
+
ultralytics/engine/trainer.py,sha256=esQhG3XJUF1vsl49GavnqpL0tvMZIY-SwD_hw1XmWdU,35454
|
|
106
106
|
ultralytics/engine/tuner.py,sha256=iZrgMmXSDpfuDu4bdFRflmAsscys2-8W8qAGxSyOVJE,11844
|
|
107
107
|
ultralytics/engine/validator.py,sha256=Y21Uo8_Zto4qjk_YqQk6k7tyfpq_Qk9cfjeXeyDRxs8,14643
|
|
108
108
|
ultralytics/hub/__init__.py,sha256=93bqI8x8-MfDYdKkQVduuocUiQj3WGnk1nIk0li08zA,5663
|
|
109
109
|
ultralytics/hub/auth.py,sha256=FID58NE6fh7Op_B45QOpWBw1qoBN0ponL16uvyb2dZ8,5399
|
|
110
|
-
ultralytics/hub/session.py,sha256=
|
|
110
|
+
ultralytics/hub/session.py,sha256=UF_aVwyxnbP-OzpzKXGGhi4i6KGWjjhoj5Qsn46dFpE,16257
|
|
111
111
|
ultralytics/hub/utils.py,sha256=tXfM3QbXBcf4Y6StgHI1pktT4OM7Ic9eF3xiBFHGlhY,9721
|
|
112
112
|
ultralytics/models/__init__.py,sha256=TT9iLCL_n9Y80dcUq0Fo-p-GRZCSU2vrWXM3CoMwqqE,265
|
|
113
113
|
ultralytics/models/fastsam/__init__.py,sha256=0dt65jZ_5b7Q-mdXN8MSEkgnFRA0FIwlel_LS2RaOlU,254
|
|
@@ -148,7 +148,7 @@ ultralytics/models/yolo/classify/val.py,sha256=MXdtWrBYVpfFuPfFPOTLKa_wBdTIA4dBZ
|
|
|
148
148
|
ultralytics/models/yolo/detect/__init__.py,sha256=JR8gZJWn7wMBbh-0j_073nxJVZTMFZVWTOG5Wnvk6w0,229
|
|
149
149
|
ultralytics/models/yolo/detect/predict.py,sha256=HcbhWUEqF97b8IjIt_scanHvSy6vzyRgybFo08o1Eok,1471
|
|
150
150
|
ultralytics/models/yolo/detect/train.py,sha256=8Ulq1SPNLrkOqXj0Yt5zNR1c_Xl_QnOjllCdqBHUMds,6353
|
|
151
|
-
ultralytics/models/yolo/detect/val.py,sha256=
|
|
151
|
+
ultralytics/models/yolo/detect/val.py,sha256=SmSyHH4N3YK9UqM7NRBwdC5YpX_i64zsfU9M5WdC1YA,15154
|
|
152
152
|
ultralytics/models/yolo/obb/__init__.py,sha256=txWbPGLY1_M7ZwlLQjrwGjTBOlsv9P3yk5ZEgysTinU,193
|
|
153
153
|
ultralytics/models/yolo/obb/predict.py,sha256=prfDzhwuVHKF6CRwnFVBA-YFI5q7U7NEQwITGHmB2Ow,2037
|
|
154
154
|
ultralytics/models/yolo/obb/train.py,sha256=tWpFtcasMwWq1A_9VdbEg5pIVHwuWwmeLOyj-S4_1sY,1473
|
|
@@ -166,8 +166,9 @@ ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WVi
|
|
|
166
166
|
ultralytics/models/yolo/world/train_world.py,sha256=IsnCEVt6DcM9lUskCKmIN-M8MM79xLpwTRqRoAHUnZ4,4857
|
|
167
167
|
ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
|
|
168
168
|
ultralytics/nn/autobackend.py,sha256=3Bdljx-0GUGLBy70nUx4oDgSqrXqaOFYYtg9NKgPfgI,31576
|
|
169
|
-
ultralytics/nn/tasks.py,sha256=
|
|
169
|
+
ultralytics/nn/tasks.py,sha256=aegNns5m1YewIT3oG9zgjsQddtyZ6rbOrgMKEIqK_s4,45885
|
|
170
170
|
ultralytics/nn/modules/__init__.py,sha256=mARjWk83WPYF5phXhXfPbAu2ZohtdbHdi5zzoxyMubo,2553
|
|
171
|
+
ultralytics/nn/modules/activation.py,sha256=RS0DRDm9r56tojN79X8UBVtiktde9Wasw7GIbiopSMk,945
|
|
171
172
|
ultralytics/nn/modules/block.py,sha256=jLXQerl4nXfr4MEGMp9S3YgdTqOJzas1GBxryyXyLV0,34582
|
|
172
173
|
ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
|
|
173
174
|
ultralytics/nn/modules/head.py,sha256=vlp3rMa54kjiuPqP32_RdgOb9KrHItiJx0ih1SFzQec,26853
|
|
@@ -195,7 +196,7 @@ ultralytics/trackers/utils/matching.py,sha256=UxhSGa5pN6WoYwYSBAkkt-O7xMxUR47VuU
|
|
|
195
196
|
ultralytics/utils/__init__.py,sha256=w6UHjkT0qkDmIr6JgwoGisLusJFpvmpOiegATYend_g,38526
|
|
196
197
|
ultralytics/utils/autobatch.py,sha256=POJb9f8dioI7lPGnCc7bdxt0ncftXZa0bvOkip-XoWk,3969
|
|
197
198
|
ultralytics/utils/benchmarks.py,sha256=6tdNcBLATllWpmAMUC6TW7DiCx1VKHhnQN4vkoqN3sE,23866
|
|
198
|
-
ultralytics/utils/checks.py,sha256=
|
|
199
|
+
ultralytics/utils/checks.py,sha256=hBkhOinWRzhpA5SbY1v-wCMdFeOemORRlmKBXgwoHYo,28498
|
|
199
200
|
ultralytics/utils/dist.py,sha256=NDFga-uKxkBX2zLxFHSene_cCiGQJoyOeCXcN9JIOIk,2358
|
|
200
201
|
ultralytics/utils/downloads.py,sha256=NB9UDas5f8Rzxt_PS1vDKkSgCxcJ0R_-pjNyZ8E3OUM,21897
|
|
201
202
|
ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
|
|
@@ -207,7 +208,7 @@ ultralytics/utils/ops.py,sha256=CQeMDVV4f9QWvYPNvNJu7GJAW2-XG93D7ee7yFY0vsI,3268
|
|
|
207
208
|
ultralytics/utils/patches.py,sha256=Oo3DkP7MbXnNGvPfoFSocAkVvaPh9kwMT_9RQUfjVhI,3594
|
|
208
209
|
ultralytics/utils/plotting.py,sha256=5HRfiG2dklWZJheTxGTy0gFRk39utHcZbMJl7j2hnMI,55522
|
|
209
210
|
ultralytics/utils/tal.py,sha256=hia39MhWPFpDWOTAXC_5vz-9cUdiRHZs-UcTnxD4Dlo,16112
|
|
210
|
-
ultralytics/utils/torch_utils.py,sha256=
|
|
211
|
+
ultralytics/utils/torch_utils.py,sha256=ClXfUpTKFkwD3Zfnjk9YnK0gsA-7YmvEasTDiVN9Wvw,28880
|
|
211
212
|
ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
|
|
212
213
|
ultralytics/utils/tuner.py,sha256=49KAadKZsUeCpwIm5Sn0grb0RPcMNI8vHGLwroDEJNI,6171
|
|
213
214
|
ultralytics/utils/callbacks/__init__.py,sha256=YrWqC3BVVaTLob4iCPR6I36mUxIUOpPJW7B_LjT78Qw,214
|
|
@@ -221,9 +222,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
221
222
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
222
223
|
ultralytics/utils/callbacks/tensorboard.py,sha256=QEgOVhUqY9akOs5TJIwz1Rvn6l32xWLpOxlwEyWF0B8,4136
|
|
223
224
|
ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
|
|
224
|
-
ultralytics-8.2.
|
|
225
|
-
ultralytics-8.2.
|
|
226
|
-
ultralytics-8.2.
|
|
227
|
-
ultralytics-8.2.
|
|
228
|
-
ultralytics-8.2.
|
|
229
|
-
ultralytics-8.2.
|
|
225
|
+
ultralytics-8.2.66.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
226
|
+
ultralytics-8.2.66.dist-info/METADATA,sha256=HyQKUxXE05aM42tzp_IJ7EGFptuc-bif23Jtl7sZDUU,41337
|
|
227
|
+
ultralytics-8.2.66.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
|
|
228
|
+
ultralytics-8.2.66.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
229
|
+
ultralytics-8.2.66.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
230
|
+
ultralytics-8.2.66.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|