ultralytics 8.1.40__py3-none-any.whl → 8.1.41__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/engine/model.py +4 -1
- ultralytics/engine/trainer.py +9 -12
- ultralytics/utils/checks.py +3 -1
- ultralytics/utils/torch_utils.py +1 -1
- {ultralytics-8.1.40.dist-info → ultralytics-8.1.41.dist-info}/METADATA +1 -1
- {ultralytics-8.1.40.dist-info → ultralytics-8.1.41.dist-info}/RECORD +11 -11
- {ultralytics-8.1.40.dist-info → ultralytics-8.1.41.dist-info}/LICENSE +0 -0
- {ultralytics-8.1.40.dist-info → ultralytics-8.1.41.dist-info}/WHEEL +0 -0
- {ultralytics-8.1.40.dist-info → ultralytics-8.1.41.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.1.40.dist-info → ultralytics-8.1.41.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/engine/model.py
CHANGED
|
@@ -735,7 +735,10 @@ class Model(nn.Module):
|
|
|
735
735
|
|
|
736
736
|
if hasattr(self.model, "names"):
|
|
737
737
|
return check_class_names(self.model.names)
|
|
738
|
-
|
|
738
|
+
else:
|
|
739
|
+
if not self.predictor: # export formats will not have predictor defined until predict() is called
|
|
740
|
+
self.predictor = self._smart_load("predictor")(overrides=self.overrides, _callbacks=self.callbacks)
|
|
741
|
+
self.predictor.setup_model(model=self.model, verbose=False)
|
|
739
742
|
return self.predictor.model.names
|
|
740
743
|
|
|
741
744
|
@property
|
ultralytics/engine/trainer.py
CHANGED
|
@@ -212,7 +212,7 @@ class BaseTrainer:
|
|
|
212
212
|
# LOGGER.info(f'DDP info: RANK {RANK}, WORLD_SIZE {world_size}, DEVICE {self.device}')
|
|
213
213
|
os.environ["TORCH_NCCL_BLOCKING_WAIT"] = "1" # set to enforce timeout
|
|
214
214
|
dist.init_process_group(
|
|
215
|
-
"nccl" if dist.is_nccl_available() else "gloo",
|
|
215
|
+
backend="nccl" if dist.is_nccl_available() else "gloo",
|
|
216
216
|
timeout=timedelta(seconds=10800), # 3 hours
|
|
217
217
|
rank=RANK,
|
|
218
218
|
world_size=world_size,
|
|
@@ -648,8 +648,8 @@ class BaseTrainer:
|
|
|
648
648
|
|
|
649
649
|
resume = True
|
|
650
650
|
self.args = get_cfg(ckpt_args)
|
|
651
|
-
self.args.model = str(last) # reinstate model
|
|
652
|
-
for k in "imgsz", "batch": # allow arg updates to reduce memory
|
|
651
|
+
self.args.model = self.args.resume = str(last) # reinstate model
|
|
652
|
+
for k in "imgsz", "batch", "device": # allow arg updates to reduce memory or update device on resume
|
|
653
653
|
if k in overrides:
|
|
654
654
|
setattr(self.args, k, overrides[k])
|
|
655
655
|
|
|
@@ -662,7 +662,7 @@ class BaseTrainer:
|
|
|
662
662
|
|
|
663
663
|
def resume_training(self, ckpt):
|
|
664
664
|
"""Resume YOLO training from given epoch and best fitness."""
|
|
665
|
-
if ckpt is None:
|
|
665
|
+
if ckpt is None or not self.resume:
|
|
666
666
|
return
|
|
667
667
|
best_fitness = 0.0
|
|
668
668
|
start_epoch = ckpt.get("epoch", -1) + 1
|
|
@@ -672,14 +672,11 @@ class BaseTrainer:
|
|
|
672
672
|
if self.ema and ckpt.get("ema"):
|
|
673
673
|
self.ema.ema.load_state_dict(ckpt["ema"].float().state_dict()) # EMA
|
|
674
674
|
self.ema.updates = ckpt["updates"]
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
LOGGER.info(
|
|
681
|
-
f"Resuming training from {self.args.model} from epoch {start_epoch + 1} to {self.epochs} total epochs"
|
|
682
|
-
)
|
|
675
|
+
assert start_epoch > 0, (
|
|
676
|
+
f"{self.args.model} training to {self.epochs} epochs is finished, nothing to resume.\n"
|
|
677
|
+
f"Start a new training without resuming, i.e. 'yolo train model={self.args.model}'"
|
|
678
|
+
)
|
|
679
|
+
LOGGER.info(f"Resuming training {self.args.model} from epoch {start_epoch + 1} to {self.epochs} total epochs")
|
|
683
680
|
if self.epochs < start_epoch:
|
|
684
681
|
LOGGER.info(
|
|
685
682
|
f"{self.model} has been trained for {ckpt['epoch']} epochs. Fine-tuning for {self.epochs} more epochs."
|
ultralytics/utils/checks.py
CHANGED
|
@@ -28,6 +28,7 @@ from ultralytics.utils import (
|
|
|
28
28
|
ONLINE,
|
|
29
29
|
ROOT,
|
|
30
30
|
USER_CONFIG_DIR,
|
|
31
|
+
Retry,
|
|
31
32
|
SimpleNamespace,
|
|
32
33
|
ThreadingLocked,
|
|
33
34
|
TryExcept,
|
|
@@ -390,7 +391,8 @@ def check_requirements(requirements=ROOT.parent / "requirements.txt", exclude=()
|
|
|
390
391
|
try:
|
|
391
392
|
t = time.time()
|
|
392
393
|
assert is_online(), "AutoUpdate skipped (offline)"
|
|
393
|
-
|
|
394
|
+
with Retry(times=2, delay=1): # run up to 2 times with 1-second retry delay
|
|
395
|
+
LOGGER.info(subprocess.check_output(f"pip install --no-cache {s} {cmds}", shell=True).decode())
|
|
394
396
|
dt = time.time() - t
|
|
395
397
|
LOGGER.info(
|
|
396
398
|
f"{prefix} AutoUpdate success ✅ {dt:.1f}s, installed {n} package{'s' * (n > 1)}: {pkgs}\n"
|
ultralytics/utils/torch_utils.py
CHANGED
|
@@ -513,7 +513,7 @@ def convert_optimizer_state_dict_to_fp16(state_dict):
|
|
|
513
513
|
"""
|
|
514
514
|
for state in state_dict["state"].values():
|
|
515
515
|
for k, v in state.items():
|
|
516
|
-
if isinstance(v, torch.Tensor) and v.dtype is torch.float32:
|
|
516
|
+
if k != "step" and isinstance(v, torch.Tensor) and v.dtype is torch.float32:
|
|
517
517
|
state[k] = v.half()
|
|
518
518
|
|
|
519
519
|
return state_dict
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.41
|
|
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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ultralytics/__init__.py,sha256=
|
|
1
|
+
ultralytics/__init__.py,sha256=lFvHnsBspb8aDTRHlGUm58PT7hhIa8sou9hVr7MGudg,625
|
|
2
2
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
|
3
3
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
|
4
4
|
ultralytics/cfg/__init__.py,sha256=ugSQqHCg31bAE9rwhVrnLMNzKLShr9JxDFcN6kBTbUk,21316
|
|
@@ -77,10 +77,10 @@ ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2
|
|
|
77
77
|
ultralytics/data/explorer/gui/dash.py,sha256=a2s8oJKI8kqnWEcIyqCCzvIyvM_uZmfMaxrOdwmiq7k,10044
|
|
78
78
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
79
79
|
ultralytics/engine/exporter.py,sha256=ZQNF6SUj0NlgUCr9Tbj2TQJxLrgEJJPfdyo4LtL_WJA,53790
|
|
80
|
-
ultralytics/engine/model.py,sha256=
|
|
80
|
+
ultralytics/engine/model.py,sha256=tCU9z_cQhdJTwUUce3a7rSeCWkUgJO4RfHNT29pB41E,39829
|
|
81
81
|
ultralytics/engine/predictor.py,sha256=wQRKdWGDTP5A6CS0gTC6U3RPDMhP3QkEzWSPm6eqCkU,17022
|
|
82
82
|
ultralytics/engine/results.py,sha256=MvrOBrBlRF7kbL-QwysMf9mIDy_lwQBTTYvy1x1FMME,30667
|
|
83
|
-
ultralytics/engine/trainer.py,sha256=
|
|
83
|
+
ultralytics/engine/trainer.py,sha256=JIyEh2HYLuFJI2bGRd8OOFe9ZlmEAas72Ce-WqaKPV8,34942
|
|
84
84
|
ultralytics/engine/tuner.py,sha256=zttHrQkvXuUVTB7jmM4Z85GgIsQ2hjpW9YrMccrQ4wo,11829
|
|
85
85
|
ultralytics/engine/validator.py,sha256=p0irfLSZa3-0TtcuGheI8kNbzPUqs_UM3TMK4VRUGK4,14645
|
|
86
86
|
ultralytics/hub/__init__.py,sha256=U4j-2QPdwSDlxw6RgFYnnJXOoIzLtwke4TkY2A8q4ws,5068
|
|
@@ -169,7 +169,7 @@ ultralytics/trackers/utils/matching.py,sha256=c_pthBfu9sWeMVYe-dSecdWcQxUey-mQT2
|
|
|
169
169
|
ultralytics/utils/__init__.py,sha256=ChS67z-V8SQDK43FWu1hfDJCLp2cLitLP4HCQtVJKY8,37539
|
|
170
170
|
ultralytics/utils/autobatch.py,sha256=ygZ3f2ByIkcujB89ENcTnGWWnAQw5Pbg6nBuShg-5t4,3863
|
|
171
171
|
ultralytics/utils/benchmarks.py,sha256=fpNWdrty1ULKP3jHFrRNln_o9gIT03F4KOE5xPuy0WI,18285
|
|
172
|
-
ultralytics/utils/checks.py,sha256=
|
|
172
|
+
ultralytics/utils/checks.py,sha256=OtBD-U90qsiYGSti7xq2LlhjbtgKbye05fJ4cgCst7s,28030
|
|
173
173
|
ultralytics/utils/dist.py,sha256=3HeNbY2gp7vYhcvVhsrvTrQXpQmgT8tpmnzApf3eQRA,2267
|
|
174
174
|
ultralytics/utils/downloads.py,sha256=j1S27awWiLTt1qC9l53WqH_BilM13JHLSVmQ2xFqh-4,21496
|
|
175
175
|
ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
|
|
@@ -181,7 +181,7 @@ ultralytics/utils/ops.py,sha256=GFe_tx8MVKT56xelbAuQjiJ28ohpzARpD6BzGyJ1yMk,3326
|
|
|
181
181
|
ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
|
|
182
182
|
ultralytics/utils/plotting.py,sha256=ILz1jEpmMQxeAdEHQ-E66XEJbsyYZqWhgQpLhDNpXvk,45077
|
|
183
183
|
ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
|
|
184
|
-
ultralytics/utils/torch_utils.py,sha256=
|
|
184
|
+
ultralytics/utils/torch_utils.py,sha256=b6SgmqhVr8qW8S9c_XoHNbHTy9Tm52_MCl6iK6UKt0U,25759
|
|
185
185
|
ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
|
|
186
186
|
ultralytics/utils/tuner.py,sha256=JhvBp6haKA6eqpNPpGJzzjjCmPxBx5phk9kHmt_jppw,6171
|
|
187
187
|
ultralytics/utils/callbacks/__init__.py,sha256=YrWqC3BVVaTLob4iCPR6I36mUxIUOpPJW7B_LjT78Qw,214
|
|
@@ -195,9 +195,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
195
195
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
196
196
|
ultralytics/utils/callbacks/tensorboard.py,sha256=hRmWjbqdA4RNaLuSZznuDcpOBW-_-_Ga0u-B8UU-7ZI,4134
|
|
197
197
|
ultralytics/utils/callbacks/wb.py,sha256=4QI81nHdzgwhXHlmTiRxLqunvkKakLXYUhHTUY1ZeHA,6635
|
|
198
|
-
ultralytics-8.1.
|
|
199
|
-
ultralytics-8.1.
|
|
200
|
-
ultralytics-8.1.
|
|
201
|
-
ultralytics-8.1.
|
|
202
|
-
ultralytics-8.1.
|
|
203
|
-
ultralytics-8.1.
|
|
198
|
+
ultralytics-8.1.41.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
199
|
+
ultralytics-8.1.41.dist-info/METADATA,sha256=1ZvyClcBCC17dlE6SKdJsvK9xiVdo8V2Ws5Y5bR1Ovo,40330
|
|
200
|
+
ultralytics-8.1.41.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
201
|
+
ultralytics-8.1.41.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
202
|
+
ultralytics-8.1.41.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
203
|
+
ultralytics-8.1.41.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|