ultralytics 8.2.47__py3-none-any.whl → 8.2.48__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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.47"
3
+ __version__ = "8.2.48"
4
4
 
5
5
  import os
6
6
 
ultralytics/nn/tasks.py CHANGED
@@ -788,14 +788,14 @@ def torch_safe_load(weight):
788
788
  f"with https://github.com/ultralytics/yolov5.\nThis model is NOT forwards compatible with "
789
789
  f"YOLOv8 at https://github.com/ultralytics/ultralytics."
790
790
  f"\nRecommend fixes are to train a new model using the latest 'ultralytics' package or to "
791
- f"run a command with an official YOLOv8 model, i.e. 'yolo predict model=yolov8n.pt'"
791
+ f"run a command with an official Ultralytics model, i.e. 'yolo predict model=yolov8n.pt'"
792
792
  )
793
793
  ) from e
794
794
  LOGGER.warning(
795
- f"WARNING ⚠️ {weight} appears to require '{e.name}', which is not in ultralytics requirements."
795
+ f"WARNING ⚠️ {weight} appears to require '{e.name}', which is not in Ultralytics requirements."
796
796
  f"\nAutoInstall will run now for '{e.name}' but this feature will be removed in the future."
797
797
  f"\nRecommend fixes are to train a new model using the latest 'ultralytics' package or to "
798
- f"run a command with an official YOLOv8 model, i.e. 'yolo predict model=yolov8n.pt'"
798
+ f"run a command with an official Ultralytics model, i.e. 'yolo predict model=yolov8n.pt'"
799
799
  )
800
800
  check_requirements(e.name) # install missing module
801
801
  ckpt = torch.load(file, map_location="cpu")
@@ -511,23 +511,30 @@ def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "") -> None:
511
511
  ```
512
512
  """
513
513
  x = torch.load(f, map_location=torch.device("cpu"))
514
- if "model" not in x:
514
+ if not isinstance(x, dict) or "model" not in x:
515
515
  LOGGER.info(f"Skipping {f}, not a valid Ultralytics model.")
516
516
  return
517
517
 
518
+ # Update model
519
+ if x.get("ema"):
520
+ x["model"] = x["ema"] # replace model with EMA
518
521
  if hasattr(x["model"], "args"):
519
522
  x["model"].args = dict(x["model"].args) # convert from IterableSimpleNamespace to dict
520
- args = {**DEFAULT_CFG_DICT, **x["train_args"]} if "train_args" in x else None # combine args
521
- if x.get("ema"):
522
- x["model"] = x["ema"] # replace model with ema
523
- for k in "optimizer", "best_fitness", "ema", "updates": # keys
524
- x[k] = None
525
- x["epoch"] = -1
523
+ if hasattr(x["model"], "criterion"):
524
+ x["model"].criterion = None # strip loss criterion
526
525
  x["model"].half() # to FP16
527
526
  for p in x["model"].parameters():
528
527
  p.requires_grad = False
528
+
529
+ # Update other keys
530
+ args = {**DEFAULT_CFG_DICT, **x.get("train_args", {})} # combine args
531
+ for k in "optimizer", "best_fitness", "ema", "updates": # keys
532
+ x[k] = None
533
+ x["epoch"] = -1
529
534
  x["train_args"] = {k: v for k, v in args.items() if k in DEFAULT_CFG_KEYS} # strip non-default keys
530
535
  # x['model'].args = x['train_args']
536
+
537
+ # Save
531
538
  torch.save(x, s or f)
532
539
  mb = os.path.getsize(s or f) / 1e6 # file size
533
540
  LOGGER.info(f"Optimizer stripped from {f},{f' saved as {s},' if s else ''} {mb:.1f}MB")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.47
3
+ Version: 8.2.48
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
@@ -7,7 +7,7 @@ tests/test_explorer.py,sha256=r1pWer2y290Y0DqsM-La7egfEY0497YCdC4rwq3URV4,2178
7
7
  tests/test_exports.py,sha256=qc4YOgsGixqYLO6IRNY16-v6z14R0dp5fdni1v222xw,8034
8
8
  tests/test_integrations.py,sha256=8Ru7GyKV8j44EEc8X9_E7q7aR4CTOIMPuSagXjSGUxw,5847
9
9
  tests/test_python.py,sha256=kic6XuQrxKUt7IlIDNoGQRs7-Gs_pis7v5JlzlZcIqQ,20705
10
- ultralytics/__init__.py,sha256=tqbrfEeOrbCtUFj2yF0All_Lw1-ktSWEwkcH8_d7fA8,694
10
+ ultralytics/__init__.py,sha256=nJ2pGlmY1w4GjyPQK1HcHqNGXbMtF6tbsQOS1x0WHoY,694
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=JblkT6Ze9MZ8hSs8gkV8JPcEKNMm-YqRqM4x501Dn9g,21507
@@ -165,7 +165,7 @@ ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WVi
165
165
  ultralytics/models/yolo/world/train_world.py,sha256=n0XTAHYxufHU5OZ_QjpkHieKik-24z0LrYKzWYbCLvA,4798
166
166
  ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
167
167
  ultralytics/nn/autobackend.py,sha256=stqN66L8iloqKxBBYaAespsj2ZoSossouFiFf_Txi0s,31163
168
- ultralytics/nn/tasks.py,sha256=Sk2ZFd3n-2LdRopai-3q6Vz4i4QBM8lFn91PdrQhtP4,45817
168
+ ultralytics/nn/tasks.py,sha256=PmSVVDtjFbIZYe-Tb1pd4uhJzr9syl_xWhhURLXRn4E,45827
169
169
  ultralytics/nn/modules/__init__.py,sha256=mARjWk83WPYF5phXhXfPbAu2ZohtdbHdi5zzoxyMubo,2553
170
170
  ultralytics/nn/modules/block.py,sha256=JiPwcbLzb7O_O5T1KkW0dIGJSfBwPaS-NNYuVkLBDwg,34384
171
171
  ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
@@ -205,7 +205,7 @@ ultralytics/utils/ops.py,sha256=Jlb0YBkN_SMVT2AjKPEjxgOtgnj7i7HTBh9FEwpoprU,3350
205
205
  ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
206
206
  ultralytics/utils/plotting.py,sha256=Aiu_J5mYGugvZ0WxHMbXftlR9lQh53iGPemHb2RT87k,55533
207
207
  ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
208
- ultralytics/utils/torch_utils.py,sha256=LwicOi4hI801LilElKmArs0z8T_e4wPCsyTcd2Y70Pk,27028
208
+ ultralytics/utils/torch_utils.py,sha256=magdEcuNq7ZBIsM7SZdzLwCdM9LnTePlZp9ZTps8Pks,27189
209
209
  ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
210
210
  ultralytics/utils/tuner.py,sha256=49KAadKZsUeCpwIm5Sn0grb0RPcMNI8vHGLwroDEJNI,6171
211
211
  ultralytics/utils/callbacks/__init__.py,sha256=YrWqC3BVVaTLob4iCPR6I36mUxIUOpPJW7B_LjT78Qw,214
@@ -219,9 +219,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
219
219
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
220
220
  ultralytics/utils/callbacks/tensorboard.py,sha256=QEgOVhUqY9akOs5TJIwz1Rvn6l32xWLpOxlwEyWF0B8,4136
221
221
  ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
222
- ultralytics-8.2.47.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
223
- ultralytics-8.2.47.dist-info/METADATA,sha256=yHgX-5QDSY5kS7hS8LBd8jUExxlPVlt-CBhDlCJbZ0A,41210
224
- ultralytics-8.2.47.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
225
- ultralytics-8.2.47.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
226
- ultralytics-8.2.47.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
227
- ultralytics-8.2.47.dist-info/RECORD,,
222
+ ultralytics-8.2.48.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
223
+ ultralytics-8.2.48.dist-info/METADATA,sha256=VT6LB4RZg55vGtKXhvx2vSMiiz9-2-0VPEHqfUwa6r4,41210
224
+ ultralytics-8.2.48.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
225
+ ultralytics-8.2.48.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
226
+ ultralytics-8.2.48.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
227
+ ultralytics-8.2.48.dist-info/RECORD,,