ultralytics 8.2.59__py3-none-any.whl → 8.2.60__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.59"
3
+ __version__ = "8.2.60"
4
4
 
5
5
  import os
6
6
 
@@ -563,7 +563,7 @@ class Exporter:
563
563
  LOGGER.warning(f"{prefix} WARNING ⚠️ PNNX GitHub assets not found: {e}, using default {asset}")
564
564
  unzip_dir = safe_download(f"https://github.com/pnnx/pnnx/releases/download/{release}/{asset}", delete=True)
565
565
  if check_is_path_safe(Path.cwd(), unzip_dir): # avoid path traversal security vulnerability
566
- (unzip_dir / name).rename(pnnx) # move binary to ROOT
566
+ shutil.move(src=unzip_dir / name, dst=pnnx) # move binary to ROOT
567
567
  pnnx.chmod(0o777) # set read, write, and execute permissions for everyone
568
568
  shutil.rmtree(unzip_dir) # delete unzip dir
569
569
 
@@ -68,7 +68,11 @@ class DetectionValidator(BaseValidator):
68
68
  def init_metrics(self, model):
69
69
  """Initialize evaluation metrics for YOLO."""
70
70
  val = self.data.get(self.args.split, "") # validation path
71
- self.is_coco = isinstance(val, str) and "coco" in val and val.endswith(f"{os.sep}val2017.txt") # is COCO
71
+ self.is_coco = (
72
+ isinstance(val, str)
73
+ and "coco" in val
74
+ and (val.endswith(f"{os.sep}val2017.txt") or val.endswith(f"{os.sep}test-dev2017.txt"))
75
+ ) # is COCO
72
76
  self.is_lvis = isinstance(val, str) and "lvis" in val and not self.is_coco # is LVIS
73
77
  self.class_map = converter.coco80_to_coco91_class() if self.is_coco else list(range(len(model.names)))
74
78
  self.args.save_json |= (self.is_coco or self.is_lvis) and not self.training # run on final val if training COCO
@@ -49,7 +49,7 @@ class SegmentationValidator(DetectionValidator):
49
49
  if self.args.save_json:
50
50
  check_requirements("pycocotools>=2.0.6")
51
51
  # more accurate vs faster
52
- self.process = ops.process_mask_upsample if self.args.save_json or self.args.save_txt else ops.process_mask
52
+ self.process = ops.process_mask_native if self.args.save_json or self.args.save_txt else ops.process_mask
53
53
  self.stats = dict(tp_m=[], tp=[], conf=[], pred_cls=[], target_cls=[], target_img=[])
54
54
 
55
55
  def get_desc(self):
ultralytics/utils/ops.py CHANGED
@@ -652,27 +652,6 @@ def crop_mask(masks, boxes):
652
652
  return masks * ((r >= x1) * (r < x2) * (c >= y1) * (c < y2))
653
653
 
654
654
 
655
- def process_mask_upsample(protos, masks_in, bboxes, shape):
656
- """
657
- Takes the output of the mask head, and applies the mask to the bounding boxes. This produces masks of higher quality
658
- but is slower.
659
-
660
- Args:
661
- protos (torch.Tensor): [mask_dim, mask_h, mask_w]
662
- masks_in (torch.Tensor): [n, mask_dim], n is number of masks after nms
663
- bboxes (torch.Tensor): [n, 4], n is number of masks after nms
664
- shape (tuple): the size of the input image (h,w)
665
-
666
- Returns:
667
- (torch.Tensor): The upsampled masks.
668
- """
669
- c, mh, mw = protos.shape # CHW
670
- masks = (masks_in @ protos.float().view(c, -1)).view(-1, mh, mw)
671
- masks = F.interpolate(masks[None], shape, mode="bilinear", align_corners=False)[0] # CHW
672
- masks = crop_mask(masks, bboxes) # CHW
673
- return masks.gt_(0.0)
674
-
675
-
676
655
  def process_mask(protos, masks_in, bboxes, shape, upsample=False):
677
656
  """
678
657
  Apply masks to bounding boxes using the output of the mask head.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.59
3
+ Version: 8.2.60
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
@@ -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=qhtSQ7NDfBChsVUxeSwfUIkoKq0S1Z-Rd9_MP023Y5k,21794
10
10
  tests/test_solutions.py,sha256=EACnPXbeJe2aVTOKfqMk5jclKKCWCVgFEzjpR6y7Sh8,3304
11
- ultralytics/__init__.py,sha256=iUKQaS4KSpxavQJQZqEjfnSSzQ5NIz2PE1m8hy28wQo,694
11
+ ultralytics/__init__.py,sha256=BWfmMROCBEF419nKyVBMe6PuaVj7Z-EM2uJegbdGZdg,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=-3FW9UuCjhvWw0OFWbiXHWMqujOvBX428-NgSMFG0sQ,26198
@@ -98,7 +98,7 @@ ultralytics/data/explorer/utils.py,sha256=EvvukQiQUTBrsZznmMnyEX2EqTuwZo_Geyc8yf
98
98
  ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
99
99
  ultralytics/data/explorer/gui/dash.py,sha256=CPlFIIhf53j_YVAqealsC3AbcztdPqZxfniQcBnlKK4,10042
100
100
  ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
101
- ultralytics/engine/exporter.py,sha256=yV5DKjz5DZ6BrW8mOC5Nb5eDcuCc93Ft-RQwJ21xVZs,58729
101
+ ultralytics/engine/exporter.py,sha256=mJqo3TbYuVcNA26rN5Fc57a1uVAqYfT1P3GSSE5k4rU,58741
102
102
  ultralytics/engine/model.py,sha256=OvQsoANg5oyN3k3K-ppa4KrIqPi96hvfGcjqd-TU5l0,39215
103
103
  ultralytics/engine/predictor.py,sha256=W58kDCFH2AfoFzpGbos3k8zUEVsLunBuM8sc2B64rPY,17449
104
104
  ultralytics/engine/results.py,sha256=5MevvBz0E-cpDf55FqweInlKdcQPb7sz0EgZSROJqw4,35817
@@ -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=_a9vH3DmKFY6eeztFTdj3nkfu_MKG6n7zb5rRKGjs9I,1510
150
150
  ultralytics/models/yolo/detect/train.py,sha256=8Ulq1SPNLrkOqXj0Yt5zNR1c_Xl_QnOjllCdqBHUMds,6353
151
- ultralytics/models/yolo/detect/val.py,sha256=PR_JATkDFaBaR09DPf3Sm9TE7oMV_604MgubOOdOsIM,15033
151
+ ultralytics/models/yolo/detect/val.py,sha256=WaCGB_B_TTIbeR8ZxKoC2YJrPdIgFJ-fP8EI7SoE4NA,15128
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
@@ -160,7 +160,7 @@ ultralytics/models/yolo/pose/val.py,sha256=QnPrSnlHHN7UVoZ6tgtRjuJjwOZY8l-MEYxuQ
160
160
  ultralytics/models/yolo/segment/__init__.py,sha256=mSbKOE8BnHL7PL2nCOVG7dRM7CI6hJezFPPwZFjEmy8,247
161
161
  ultralytics/models/yolo/segment/predict.py,sha256=xtA0ZZyuh9WVpX7zZFdAeCkWnxhQ30ADEzSud_H6N7E,2491
162
162
  ultralytics/models/yolo/segment/train.py,sha256=aOQpDIptZfKSl9mFa6B-3W3QccMRlmBINBkI9K8-3sQ,2298
163
- ultralytics/models/yolo/segment/val.py,sha256=SOl3S_G8CCqKug_sA-q_X11-deqemDXAd77_MgtZHK8,14036
163
+ ultralytics/models/yolo/segment/val.py,sha256=kPnlAd5aA6kHsIPp5UCsGTy-ai5kyKx2QggVGCH_H6U,14034
164
164
  ultralytics/models/yolo/world/__init__.py,sha256=3VTH0q4NOt2EWRom15yCymvmvm0Etp2bmETJUhsVTBI,103
165
165
  ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WViDstn7npfI,3686
166
166
  ultralytics/models/yolo/world/train_world.py,sha256=IsnCEVt6DcM9lUskCKmIN-M8MM79xLpwTRqRoAHUnZ4,4857
@@ -203,7 +203,7 @@ ultralytics/utils/files.py,sha256=TVfY0Wi5IsUc4YdsDzC0dAg-jAP5exYvwqB3VmXhDLY,67
203
203
  ultralytics/utils/instance.py,sha256=5daM5nkxBv9hr5QzyII8zmuFj24hHuNtcr4EMCHAtpY,15654
204
204
  ultralytics/utils/loss.py,sha256=tAAi_l0SAtbtqT8AQSBSCvEyv342-r04H2KcSF1Yk_w,33795
205
205
  ultralytics/utils/metrics.py,sha256=C7qFuZjwGqbsG4sggm_qfm8gVuBUwHg_Fhxj08b6NfU,53671
206
- ultralytics/utils/ops.py,sha256=Jlb0YBkN_SMVT2AjKPEjxgOtgnj7i7HTBh9FEwpoprU,33509
206
+ ultralytics/utils/ops.py,sha256=CQeMDVV4f9QWvYPNvNJu7GJAW2-XG93D7ee7yFY0vsI,32688
207
207
  ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
208
208
  ultralytics/utils/plotting.py,sha256=5HRfiG2dklWZJheTxGTy0gFRk39utHcZbMJl7j2hnMI,55522
209
209
  ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
@@ -221,9 +221,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
221
221
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
222
222
  ultralytics/utils/callbacks/tensorboard.py,sha256=QEgOVhUqY9akOs5TJIwz1Rvn6l32xWLpOxlwEyWF0B8,4136
223
223
  ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
224
- ultralytics-8.2.59.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
225
- ultralytics-8.2.59.dist-info/METADATA,sha256=0ixeMs5-SV_1dfJ8ZlHT6hp56kJ0eNHN5czRb9us4tQ,41217
226
- ultralytics-8.2.59.dist-info/WHEEL,sha256=pd56usn78UTvq1xeX_ZwFhoK6jE5u5wzu4TTBIG5cQ0,91
227
- ultralytics-8.2.59.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
228
- ultralytics-8.2.59.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
229
- ultralytics-8.2.59.dist-info/RECORD,,
224
+ ultralytics-8.2.60.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
225
+ ultralytics-8.2.60.dist-info/METADATA,sha256=qWBL0aATA3aVIF_4uXevFxxw1rdJmYCrobrr8_y16W4,41217
226
+ ultralytics-8.2.60.dist-info/WHEEL,sha256=-oYQCr74JF3a37z2nRlQays_SX2MqOANoqVjBBAP2yE,91
227
+ ultralytics-8.2.60.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
228
+ ultralytics-8.2.60.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
229
+ ultralytics-8.2.60.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (71.0.0)
2
+ Generator: setuptools (71.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5