dgenerate-ultralytics-headless 8.3.159__py3-none-any.whl → 8.3.161__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.
Files changed (62) hide show
  1. {dgenerate_ultralytics_headless-8.3.159.dist-info → dgenerate_ultralytics_headless-8.3.161.dist-info}/METADATA +1 -1
  2. {dgenerate_ultralytics_headless-8.3.159.dist-info → dgenerate_ultralytics_headless-8.3.161.dist-info}/RECORD +62 -62
  3. tests/test_python.py +2 -1
  4. ultralytics/__init__.py +1 -1
  5. ultralytics/cfg/__init__.py +0 -2
  6. ultralytics/cfg/datasets/Argoverse.yaml +1 -1
  7. ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
  8. ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
  9. ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -1
  10. ultralytics/cfg/datasets/HomeObjects-3K.yaml +1 -1
  11. ultralytics/cfg/datasets/ImageNet.yaml +1 -1
  12. ultralytics/cfg/datasets/Objects365.yaml +1 -1
  13. ultralytics/cfg/datasets/SKU-110K.yaml +1 -1
  14. ultralytics/cfg/datasets/VOC.yaml +1 -1
  15. ultralytics/cfg/datasets/VisDrone.yaml +6 -3
  16. ultralytics/cfg/datasets/african-wildlife.yaml +1 -1
  17. ultralytics/cfg/datasets/brain-tumor.yaml +1 -1
  18. ultralytics/cfg/datasets/carparts-seg.yaml +1 -1
  19. ultralytics/cfg/datasets/coco-pose.yaml +1 -1
  20. ultralytics/cfg/datasets/coco.yaml +1 -1
  21. ultralytics/cfg/datasets/coco128-seg.yaml +1 -1
  22. ultralytics/cfg/datasets/coco128.yaml +1 -1
  23. ultralytics/cfg/datasets/coco8-grayscale.yaml +1 -1
  24. ultralytics/cfg/datasets/coco8-multispectral.yaml +1 -1
  25. ultralytics/cfg/datasets/coco8-pose.yaml +1 -1
  26. ultralytics/cfg/datasets/coco8-seg.yaml +1 -1
  27. ultralytics/cfg/datasets/coco8.yaml +1 -1
  28. ultralytics/cfg/datasets/crack-seg.yaml +1 -1
  29. ultralytics/cfg/datasets/dog-pose.yaml +1 -1
  30. ultralytics/cfg/datasets/dota8-multispectral.yaml +1 -1
  31. ultralytics/cfg/datasets/dota8.yaml +1 -1
  32. ultralytics/cfg/datasets/hand-keypoints.yaml +1 -1
  33. ultralytics/cfg/datasets/lvis.yaml +1 -1
  34. ultralytics/cfg/datasets/medical-pills.yaml +1 -1
  35. ultralytics/cfg/datasets/open-images-v7.yaml +1 -1
  36. ultralytics/cfg/datasets/package-seg.yaml +1 -1
  37. ultralytics/cfg/datasets/signature.yaml +1 -1
  38. ultralytics/cfg/datasets/tiger-pose.yaml +1 -1
  39. ultralytics/cfg/datasets/xView.yaml +1 -1
  40. ultralytics/data/augment.py +8 -8
  41. ultralytics/data/converter.py +3 -5
  42. ultralytics/data/dataset.py +1 -1
  43. ultralytics/data/split.py +1 -1
  44. ultralytics/engine/exporter.py +11 -2
  45. ultralytics/engine/model.py +2 -0
  46. ultralytics/engine/results.py +1 -6
  47. ultralytics/models/yolo/model.py +25 -24
  48. ultralytics/models/yolo/world/train.py +1 -1
  49. ultralytics/models/yolo/world/train_world.py +6 -6
  50. ultralytics/models/yolo/yoloe/train.py +1 -1
  51. ultralytics/nn/autobackend.py +7 -1
  52. ultralytics/solutions/heatmap.py +1 -1
  53. ultralytics/solutions/object_counter.py +9 -9
  54. ultralytics/solutions/similarity_search.py +11 -12
  55. ultralytics/solutions/solutions.py +55 -56
  56. ultralytics/utils/__init__.py +1 -4
  57. ultralytics/utils/instance.py +2 -0
  58. ultralytics/utils/metrics.py +24 -36
  59. {dgenerate_ultralytics_headless-8.3.159.dist-info → dgenerate_ultralytics_headless-8.3.161.dist-info}/WHEEL +0 -0
  60. {dgenerate_ultralytics_headless-8.3.159.dist-info → dgenerate_ultralytics_headless-8.3.161.dist-info}/entry_points.txt +0 -0
  61. {dgenerate_ultralytics_headless-8.3.159.dist-info → dgenerate_ultralytics_headless-8.3.161.dist-info}/licenses/LICENSE +0 -0
  62. {dgenerate_ultralytics_headless-8.3.159.dist-info → dgenerate_ultralytics_headless-8.3.161.dist-info}/top_level.txt +0 -0
@@ -1061,7 +1061,7 @@ class DetMetrics(SimpleClass, DataExportMixin):
1061
1061
  """Return dictionary of computed performance metrics and statistics."""
1062
1062
  return self.box.curves_results
1063
1063
 
1064
- def summary(self, normalize: bool = True, decimals: int = 5) -> List[Dict[str, Union[str, float]]]:
1064
+ def summary(self, normalize: bool = True, decimals: int = 5) -> List[Dict[str, Any]]:
1065
1065
  """
1066
1066
  Generate a summarized representation of per-class detection metrics as a list of dictionaries. Includes shared
1067
1067
  scalar metrics (mAP, mAP50, mAP75) alongside precision, recall, and F1-score for each class.
@@ -1071,30 +1071,28 @@ class DetMetrics(SimpleClass, DataExportMixin):
1071
1071
  decimals (int): Number of decimal places to round the metrics values to.
1072
1072
 
1073
1073
  Returns:
1074
- (List[Dict[str, Union[str, float]]]): A list of dictionaries, each representing one class with corresponding metric values.
1074
+ (List[Dict[str, Any]]): A list of dictionaries, each representing one class with corresponding metric values.
1075
1075
 
1076
1076
  Examples:
1077
1077
  >>> results = model.val(data="coco8.yaml")
1078
1078
  >>> detection_summary = results.summary()
1079
1079
  >>> print(detection_summary)
1080
1080
  """
1081
- scalars = {
1082
- "box-map": round(self.box.map, decimals),
1083
- "box-map50": round(self.box.map50, decimals),
1084
- "box-map75": round(self.box.map75, decimals),
1085
- }
1086
1081
  per_class = {
1087
- "box-p": self.box.p,
1088
- "box-r": self.box.r,
1089
- "box-f1": self.box.f1,
1082
+ "Box-P": self.box.p,
1083
+ "Box-R": self.box.r,
1084
+ "Box-F1": self.box.f1,
1090
1085
  }
1091
1086
  return [
1092
1087
  {
1093
- "class_name": self.names[self.ap_class_index[i]],
1088
+ "Class": self.names[self.ap_class_index[i]],
1089
+ "Images": self.nt_per_image[self.ap_class_index[i]],
1090
+ "Instances": self.nt_per_class[self.ap_class_index[i]],
1094
1091
  **{k: round(v[i], decimals) for k, v in per_class.items()},
1095
- **scalars,
1092
+ "mAP50": round(self.class_result(i)[2], decimals),
1093
+ "mAP50-95": round(self.class_result(i)[3], decimals),
1096
1094
  }
1097
- for i in range(len(per_class["box-p"]))
1095
+ for i in range(len(per_class["Box-P"]))
1098
1096
  ]
1099
1097
 
1100
1098
 
@@ -1196,7 +1194,7 @@ class SegmentMetrics(DetMetrics):
1196
1194
  """Return dictionary of computed performance metrics and statistics."""
1197
1195
  return DetMetrics.curves_results.fget(self) + self.seg.curves_results
1198
1196
 
1199
- def summary(self, normalize: bool = True, decimals: int = 5) -> List[Dict[str, Union[str, float]]]:
1197
+ def summary(self, normalize: bool = True, decimals: int = 5) -> List[Dict[str, Any]]:
1200
1198
  """
1201
1199
  Generate a summarized representation of per-class segmentation metrics as a list of dictionaries. Includes both
1202
1200
  box and mask scalar metrics (mAP, mAP50, mAP75) alongside precision, recall, and F1-score for each class.
@@ -1206,26 +1204,21 @@ class SegmentMetrics(DetMetrics):
1206
1204
  decimals (int): Number of decimal places to round the metrics values to.
1207
1205
 
1208
1206
  Returns:
1209
- (List[Dict[str, Union[str, float]]]): A list of dictionaries, each representing one class with corresponding metric values.
1207
+ (List[Dict[str, Any]]): A list of dictionaries, each representing one class with corresponding metric values.
1210
1208
 
1211
1209
  Examples:
1212
1210
  >>> results = model.val(data="coco8-seg.yaml")
1213
1211
  >>> seg_summary = results.summary(decimals=4)
1214
1212
  >>> print(seg_summary)
1215
1213
  """
1216
- scalars = {
1217
- "mask-map": round(self.seg.map, decimals),
1218
- "mask-map50": round(self.seg.map50, decimals),
1219
- "mask-map75": round(self.seg.map75, decimals),
1220
- }
1221
1214
  per_class = {
1222
- "mask-p": self.seg.p,
1223
- "mask-r": self.seg.r,
1224
- "mask-f1": self.seg.f1,
1215
+ "Mask-P": self.seg.p,
1216
+ "Mask-R": self.seg.r,
1217
+ "Mask-F1": self.seg.f1,
1225
1218
  }
1226
1219
  summary = DetMetrics.summary(self, normalize, decimals) # get box summary
1227
1220
  for i, s in enumerate(summary):
1228
- s.update({**{k: round(v[i], decimals) for k, v in per_class.items()}, **scalars})
1221
+ s.update({**{k: round(v[i], decimals) for k, v in per_class.items()}})
1229
1222
  return summary
1230
1223
 
1231
1224
 
@@ -1340,7 +1333,7 @@ class PoseMetrics(DetMetrics):
1340
1333
  """Return dictionary of computed performance metrics and statistics."""
1341
1334
  return DetMetrics.curves_results.fget(self) + self.pose.curves_results
1342
1335
 
1343
- def summary(self, normalize: bool = True, decimals: int = 5) -> List[Dict[str, Union[str, float]]]:
1336
+ def summary(self, normalize: bool = True, decimals: int = 5) -> List[Dict[str, Any]]:
1344
1337
  """
1345
1338
  Generate a summarized representation of per-class pose metrics as a list of dictionaries. Includes both box and
1346
1339
  pose scalar metrics (mAP, mAP50, mAP75) alongside precision, recall, and F1-score for each class.
@@ -1350,26 +1343,21 @@ class PoseMetrics(DetMetrics):
1350
1343
  decimals (int): Number of decimal places to round the metrics values to.
1351
1344
 
1352
1345
  Returns:
1353
- (List[Dict[str, Union[str, float]]]): A list of dictionaries, each representing one class with corresponding metric values.
1346
+ (List[Dict[str, Any]]): A list of dictionaries, each representing one class with corresponding metric values.
1354
1347
 
1355
1348
  Examples:
1356
1349
  >>> results = model.val(data="coco8-pose.yaml")
1357
1350
  >>> pose_summary = results.summary(decimals=4)
1358
1351
  >>> print(pose_summary)
1359
1352
  """
1360
- scalars = {
1361
- "pose-map": round(self.pose.map, decimals),
1362
- "pose-map50": round(self.pose.map50, decimals),
1363
- "pose-map75": round(self.pose.map75, decimals),
1364
- }
1365
1353
  per_class = {
1366
- "pose-p": self.pose.p,
1367
- "pose-r": self.pose.r,
1368
- "pose-f1": self.pose.f1,
1354
+ "Pose-P": self.pose.p,
1355
+ "Pose-R": self.pose.r,
1356
+ "Pose-F1": self.pose.f1,
1369
1357
  }
1370
1358
  summary = DetMetrics.summary(self, normalize, decimals) # get box summary
1371
1359
  for i, s in enumerate(summary):
1372
- s.update({**{k: round(v[i], decimals) for k, v in per_class.items()}, **scalars})
1360
+ s.update({**{k: round(v[i], decimals) for k, v in per_class.items()}})
1373
1361
  return summary
1374
1362
 
1375
1363
 
@@ -1445,7 +1433,7 @@ class ClassifyMetrics(SimpleClass, DataExportMixin):
1445
1433
  >>> classify_summary = results.summary(decimals=4)
1446
1434
  >>> print(classify_summary)
1447
1435
  """
1448
- return [{"classify-top1": round(self.top1, decimals), "classify-top5": round(self.top5, decimals)}]
1436
+ return [{"top1_acc": round(self.top1, decimals), "top5_acc": round(self.top5, decimals)}]
1449
1437
 
1450
1438
 
1451
1439
  class OBBMetrics(DetMetrics):