ultralytics 8.1.10__py3-none-any.whl → 8.1.12__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/exporter.py +16 -2
- ultralytics/engine/results.py +89 -41
- ultralytics/trackers/utils/gmc.py +0 -2
- ultralytics/utils/plotting.py +17 -5
- {ultralytics-8.1.10.dist-info → ultralytics-8.1.12.dist-info}/METADATA +2 -2
- {ultralytics-8.1.10.dist-info → ultralytics-8.1.12.dist-info}/RECORD +11 -11
- {ultralytics-8.1.10.dist-info → ultralytics-8.1.12.dist-info}/LICENSE +0 -0
- {ultralytics-8.1.10.dist-info → ultralytics-8.1.12.dist-info}/WHEEL +0 -0
- {ultralytics-8.1.10.dist-info → ultralytics-8.1.12.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.1.10.dist-info → ultralytics-8.1.12.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/engine/exporter.py
CHANGED
|
@@ -454,7 +454,21 @@ class Exporter:
|
|
|
454
454
|
if n < 300:
|
|
455
455
|
LOGGER.warning(f"{prefix} WARNING ⚠️ >300 images recommended for INT8 calibration, found {n} images.")
|
|
456
456
|
quantization_dataset = nncf.Dataset(dataset, transform_fn)
|
|
457
|
-
ignored_scope =
|
|
457
|
+
ignored_scope = None
|
|
458
|
+
if isinstance(self.model.model[-1], (Detect, RTDETRDecoder)): # Segment and Pose use Detect base class
|
|
459
|
+
# get detection module name in onnx
|
|
460
|
+
head_module_name = ".".join(list(self.model.named_modules())[-1][0].split(".")[:2])
|
|
461
|
+
|
|
462
|
+
ignored_scope = nncf.IgnoredScope( # ignore operations
|
|
463
|
+
patterns=[
|
|
464
|
+
f"/{head_module_name}/Add",
|
|
465
|
+
f"/{head_module_name}/Sub",
|
|
466
|
+
f"/{head_module_name}/Mul",
|
|
467
|
+
f"/{head_module_name}/Div",
|
|
468
|
+
f"/{head_module_name}/dfl",
|
|
469
|
+
],
|
|
470
|
+
names=[f"/{head_module_name}/Sigmoid"],
|
|
471
|
+
)
|
|
458
472
|
quantized_ov_model = nncf.quantize(
|
|
459
473
|
ov_model, quantization_dataset, preset=nncf.QuantizationPreset.MIXED, ignored_scope=ignored_scope
|
|
460
474
|
)
|
|
@@ -483,7 +497,7 @@ class Exporter:
|
|
|
483
497
|
"""
|
|
484
498
|
YOLOv8 ncnn export using PNNX https://github.com/pnnx/pnnx.
|
|
485
499
|
"""
|
|
486
|
-
check_requirements("
|
|
500
|
+
check_requirements("ncnn")
|
|
487
501
|
import ncnn # noqa
|
|
488
502
|
|
|
489
503
|
LOGGER.info(f"\n{prefix} starting export with ncnn {ncnn.__version__}...")
|
ultralytics/engine/results.py
CHANGED
|
@@ -67,30 +67,45 @@ class Results(SimpleClass):
|
|
|
67
67
|
"""
|
|
68
68
|
A class for storing and manipulating inference results.
|
|
69
69
|
|
|
70
|
-
Args:
|
|
71
|
-
orig_img (numpy.ndarray): The original image as a numpy array.
|
|
72
|
-
path (str): The path to the image file.
|
|
73
|
-
names (dict): A dictionary of class names.
|
|
74
|
-
boxes (torch.tensor, optional): A 2D tensor of bounding box coordinates for each detection.
|
|
75
|
-
masks (torch.tensor, optional): A 3D tensor of detection masks, where each mask is a binary image.
|
|
76
|
-
probs (torch.tensor, optional): A 1D tensor of probabilities of each class for classification task.
|
|
77
|
-
keypoints (List[List[float]], optional): A list of detected keypoints for each object.
|
|
78
|
-
|
|
79
70
|
Attributes:
|
|
80
|
-
orig_img (numpy.ndarray):
|
|
81
|
-
orig_shape (tuple):
|
|
82
|
-
boxes (Boxes, optional):
|
|
83
|
-
masks (Masks, optional):
|
|
84
|
-
probs (Probs, optional):
|
|
85
|
-
keypoints (Keypoints, optional):
|
|
86
|
-
speed (dict):
|
|
87
|
-
names (dict):
|
|
88
|
-
path (str):
|
|
89
|
-
|
|
71
|
+
orig_img (numpy.ndarray): Original image as a numpy array.
|
|
72
|
+
orig_shape (tuple): Original image shape in (height, width) format.
|
|
73
|
+
boxes (Boxes, optional): Object containing detection bounding boxes.
|
|
74
|
+
masks (Masks, optional): Object containing detection masks.
|
|
75
|
+
probs (Probs, optional): Object containing class probabilities for classification tasks.
|
|
76
|
+
keypoints (Keypoints, optional): Object containing detected keypoints for each object.
|
|
77
|
+
speed (dict): Dictionary of preprocess, inference, and postprocess speeds (ms/image).
|
|
78
|
+
names (dict): Dictionary of class names.
|
|
79
|
+
path (str): Path to the image file.
|
|
80
|
+
|
|
81
|
+
Methods:
|
|
82
|
+
update(boxes=None, masks=None, probs=None, obb=None): Updates object attributes with new detection results.
|
|
83
|
+
cpu(): Returns a copy of the Results object with all tensors on CPU memory.
|
|
84
|
+
numpy(): Returns a copy of the Results object with all tensors as numpy arrays.
|
|
85
|
+
cuda(): Returns a copy of the Results object with all tensors on GPU memory.
|
|
86
|
+
to(*args, **kwargs): Returns a copy of the Results object with tensors on a specified device and dtype.
|
|
87
|
+
new(): Returns a new Results object with the same image, path, and names.
|
|
88
|
+
plot(...): Plots detection results on an input image, returning an annotated image.
|
|
89
|
+
verbose(): Returns a log string for each task, detailing detections and classifications.
|
|
90
|
+
save_txt(txt_file, save_conf=False): Saves detection results to a text file.
|
|
91
|
+
save_crop(save_dir, file_name=Path("im.jpg")): Saves cropped detection images.
|
|
92
|
+
tojson(normalize=False): Converts detection results to JSON format.
|
|
90
93
|
"""
|
|
91
94
|
|
|
92
95
|
def __init__(self, orig_img, path, names, boxes=None, masks=None, probs=None, keypoints=None, obb=None) -> None:
|
|
93
|
-
"""
|
|
96
|
+
"""
|
|
97
|
+
Initialize the Results class.
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
orig_img (numpy.ndarray): The original image as a numpy array.
|
|
101
|
+
path (str): The path to the image file.
|
|
102
|
+
names (dict): A dictionary of class names.
|
|
103
|
+
boxes (torch.tensor, optional): A 2D tensor of bounding box coordinates for each detection.
|
|
104
|
+
masks (torch.tensor, optional): A 3D tensor of detection masks, where each mask is a binary image.
|
|
105
|
+
probs (torch.tensor, optional): A 1D tensor of probabilities of each class for classification task.
|
|
106
|
+
keypoints (torch.tensor, optional): A 2D tensor of keypoint coordinates for each detection.
|
|
107
|
+
obb (torch.tensor, optional): A 2D tensor of oriented bounding box coordinates for each detection.
|
|
108
|
+
"""
|
|
94
109
|
self.orig_img = orig_img
|
|
95
110
|
self.orig_shape = orig_img.shape[:2]
|
|
96
111
|
self.boxes = Boxes(boxes, self.orig_shape) if boxes is not None else None # native size boxes
|
|
@@ -181,6 +196,9 @@ class Results(SimpleClass):
|
|
|
181
196
|
boxes=True,
|
|
182
197
|
masks=True,
|
|
183
198
|
probs=True,
|
|
199
|
+
show=False,
|
|
200
|
+
save=False,
|
|
201
|
+
filename=None,
|
|
184
202
|
):
|
|
185
203
|
"""
|
|
186
204
|
Plots the detection results on an input RGB image. Accepts a numpy array (cv2) or a PIL Image.
|
|
@@ -199,6 +217,9 @@ class Results(SimpleClass):
|
|
|
199
217
|
boxes (bool): Whether to plot the bounding boxes.
|
|
200
218
|
masks (bool): Whether to plot the masks.
|
|
201
219
|
probs (bool): Whether to plot classification probability
|
|
220
|
+
show (bool): Whether to display the annotated image directly.
|
|
221
|
+
save (bool): Whether to save the annotated image to `filename`.
|
|
222
|
+
filename (str): Filename to save image to if save is True.
|
|
202
223
|
|
|
203
224
|
Returns:
|
|
204
225
|
(numpy.ndarray): A numpy array of the annotated image.
|
|
@@ -268,8 +289,27 @@ class Results(SimpleClass):
|
|
|
268
289
|
for k in reversed(self.keypoints.data):
|
|
269
290
|
annotator.kpts(k, self.orig_shape, radius=kpt_radius, kpt_line=kpt_line)
|
|
270
291
|
|
|
292
|
+
# Show results
|
|
293
|
+
if show:
|
|
294
|
+
annotator.show(self.path)
|
|
295
|
+
|
|
296
|
+
# Save results
|
|
297
|
+
if save:
|
|
298
|
+
annotator.save(filename)
|
|
299
|
+
|
|
271
300
|
return annotator.result()
|
|
272
301
|
|
|
302
|
+
def show(self, *args, **kwargs):
|
|
303
|
+
"""Show annotated results image."""
|
|
304
|
+
self.plot(show=True, *args, **kwargs)
|
|
305
|
+
|
|
306
|
+
def save(self, filename=None, *args, **kwargs):
|
|
307
|
+
"""Save annotated results image."""
|
|
308
|
+
if not filename:
|
|
309
|
+
filename = f"results_{Path(self.path).name}"
|
|
310
|
+
self.plot(save=True, filename=filename, *args, **kwargs)
|
|
311
|
+
return filename
|
|
312
|
+
|
|
273
313
|
def verbose(self):
|
|
274
314
|
"""Return log string for each task."""
|
|
275
315
|
log_string = ""
|
|
@@ -377,33 +417,41 @@ class Results(SimpleClass):
|
|
|
377
417
|
|
|
378
418
|
class Boxes(BaseTensor):
|
|
379
419
|
"""
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
boxes (torch.Tensor | numpy.ndarray): A tensor or numpy array containing the detection boxes,
|
|
384
|
-
with shape (num_boxes, 6) or (num_boxes, 7). The last two columns contain confidence and class values.
|
|
385
|
-
If present, the third last column contains track IDs.
|
|
386
|
-
orig_shape (tuple): Original image size, in the format (height, width).
|
|
420
|
+
Manages detection boxes, providing easy access and manipulation of box coordinates, confidence scores, class
|
|
421
|
+
identifiers, and optional tracking IDs. Supports multiple formats for box coordinates, including both absolute and
|
|
422
|
+
normalized forms.
|
|
387
423
|
|
|
388
424
|
Attributes:
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
425
|
+
data (torch.Tensor): The raw tensor containing detection boxes and their associated data.
|
|
426
|
+
orig_shape (tuple): The original image size as a tuple (height, width), used for normalization.
|
|
427
|
+
is_track (bool): Indicates whether tracking IDs are included in the box data.
|
|
428
|
+
|
|
429
|
+
Properties:
|
|
430
|
+
xyxy (torch.Tensor | numpy.ndarray): Boxes in [x1, y1, x2, y2] format.
|
|
431
|
+
conf (torch.Tensor | numpy.ndarray): Confidence scores for each box.
|
|
432
|
+
cls (torch.Tensor | numpy.ndarray): Class labels for each box.
|
|
433
|
+
id (torch.Tensor | numpy.ndarray, optional): Tracking IDs for each box, if available.
|
|
434
|
+
xywh (torch.Tensor | numpy.ndarray): Boxes in [x, y, width, height] format, calculated on demand.
|
|
435
|
+
xyxyn (torch.Tensor | numpy.ndarray): Normalized [x1, y1, x2, y2] boxes, relative to `orig_shape`.
|
|
436
|
+
xywhn (torch.Tensor | numpy.ndarray): Normalized [x, y, width, height] boxes, relative to `orig_shape`.
|
|
397
437
|
|
|
398
438
|
Methods:
|
|
399
|
-
cpu():
|
|
400
|
-
numpy():
|
|
401
|
-
cuda():
|
|
402
|
-
to(
|
|
439
|
+
cpu(): Moves the boxes to CPU memory.
|
|
440
|
+
numpy(): Converts the boxes to a numpy array format.
|
|
441
|
+
cuda(): Moves the boxes to CUDA (GPU) memory.
|
|
442
|
+
to(device, dtype=None): Moves the boxes to the specified device.
|
|
403
443
|
"""
|
|
404
444
|
|
|
405
445
|
def __init__(self, boxes, orig_shape) -> None:
|
|
406
|
-
"""
|
|
446
|
+
"""
|
|
447
|
+
Initialize the Boxes class.
|
|
448
|
+
|
|
449
|
+
Args:
|
|
450
|
+
boxes (torch.Tensor | numpy.ndarray): A tensor or numpy array containing the detection boxes, with
|
|
451
|
+
shape (num_boxes, 6) or (num_boxes, 7). The last two columns contain confidence and class values.
|
|
452
|
+
If present, the third last column contains track IDs.
|
|
453
|
+
orig_shape (tuple): Original image size, in the format (height, width).
|
|
454
|
+
"""
|
|
407
455
|
if boxes.ndim == 1:
|
|
408
456
|
boxes = boxes[None, :]
|
|
409
457
|
n = boxes.shape[-1]
|
|
@@ -607,7 +655,7 @@ class OBB(BaseTensor):
|
|
|
607
655
|
conf (torch.Tensor | numpy.ndarray): The confidence values of the boxes.
|
|
608
656
|
cls (torch.Tensor | numpy.ndarray): The class values of the boxes.
|
|
609
657
|
id (torch.Tensor | numpy.ndarray): The track IDs of the boxes (if available).
|
|
610
|
-
xyxyxyxyn (torch.Tensor | numpy.ndarray): The rotated boxes in xyxyxyxy format normalized by
|
|
658
|
+
xyxyxyxyn (torch.Tensor | numpy.ndarray): The rotated boxes in xyxyxyxy format normalized by orig image size.
|
|
611
659
|
xyxyxyxy (torch.Tensor | numpy.ndarray): The rotated boxes in xyxyxyxy format.
|
|
612
660
|
xyxy (torch.Tensor | numpy.ndarray): The horizontal boxes in xyxyxyxy format.
|
|
613
661
|
data (torch.Tensor): The raw OBB tensor (alias for `boxes`).
|
|
@@ -109,7 +109,6 @@ class GMC:
|
|
|
109
109
|
|
|
110
110
|
Args:
|
|
111
111
|
raw_frame (np.array): The raw frame to be processed.
|
|
112
|
-
detections (list): List of detections to be used in the processing.
|
|
113
112
|
|
|
114
113
|
Returns:
|
|
115
114
|
(np.array): Processed frame.
|
|
@@ -298,7 +297,6 @@ class GMC:
|
|
|
298
297
|
|
|
299
298
|
Args:
|
|
300
299
|
raw_frame (np.array): The raw frame to be processed.
|
|
301
|
-
detections (list): List of detections to be used in the processing.
|
|
302
300
|
|
|
303
301
|
Returns:
|
|
304
302
|
(np.array): Processed frame.
|
ultralytics/utils/plotting.py
CHANGED
|
@@ -329,10 +329,18 @@ class Annotator:
|
|
|
329
329
|
"""Return annotated image as array."""
|
|
330
330
|
return np.asarray(self.im)
|
|
331
331
|
|
|
332
|
-
|
|
332
|
+
def show(self, title=None):
|
|
333
|
+
"""Show the annotated image."""
|
|
334
|
+
(self.im if isinstance(self.im, Image.Image) else Image.fromarray(self.im[..., ::-1])).show(title)
|
|
335
|
+
|
|
336
|
+
def save(self, filename="image.jpg"):
|
|
337
|
+
"""Save the annotated image to 'filename'."""
|
|
338
|
+
(self.im if isinstance(self.im, Image.Image) else Image.fromarray(self.im[..., ::-1])).save(filename)
|
|
339
|
+
|
|
333
340
|
def draw_region(self, reg_pts=None, color=(0, 255, 0), thickness=5):
|
|
334
341
|
"""
|
|
335
|
-
Draw region line
|
|
342
|
+
Draw region line.
|
|
343
|
+
|
|
336
344
|
Args:
|
|
337
345
|
reg_pts (list): Region Points (for line 2 points, for region 4 points)
|
|
338
346
|
color (tuple): Region Color value
|
|
@@ -342,7 +350,8 @@ class Annotator:
|
|
|
342
350
|
|
|
343
351
|
def draw_centroid_and_tracks(self, track, color=(255, 0, 255), track_thickness=2):
|
|
344
352
|
"""
|
|
345
|
-
Draw centroid point and track trails
|
|
353
|
+
Draw centroid point and track trails.
|
|
354
|
+
|
|
346
355
|
Args:
|
|
347
356
|
track (list): object tracking points for trails display
|
|
348
357
|
color (tuple): tracks line color
|
|
@@ -354,7 +363,8 @@ class Annotator:
|
|
|
354
363
|
|
|
355
364
|
def count_labels(self, counts=0, count_txt_size=2, color=(255, 255, 255), txt_color=(0, 0, 0)):
|
|
356
365
|
"""
|
|
357
|
-
Plot counts for object counter
|
|
366
|
+
Plot counts for object counter.
|
|
367
|
+
|
|
358
368
|
Args:
|
|
359
369
|
counts (int): objects counts value
|
|
360
370
|
count_txt_size (int): text size for counts display
|
|
@@ -383,7 +393,9 @@ class Annotator:
|
|
|
383
393
|
|
|
384
394
|
@staticmethod
|
|
385
395
|
def estimate_pose_angle(a, b, c):
|
|
386
|
-
"""
|
|
396
|
+
"""
|
|
397
|
+
Calculate the pose angle for object.
|
|
398
|
+
|
|
387
399
|
Args:
|
|
388
400
|
a (float) : The value of pose point a
|
|
389
401
|
b (float): The value of pose point b
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.12
|
|
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
|
|
@@ -51,7 +51,7 @@ Requires-Dist: pre-commit ; extra == 'dev'
|
|
|
51
51
|
Requires-Dist: pytest ; extra == 'dev'
|
|
52
52
|
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
53
53
|
Requires-Dist: coverage[toml] ; extra == 'dev'
|
|
54
|
-
Requires-Dist: mkdocs-material ; extra == 'dev'
|
|
54
|
+
Requires-Dist: mkdocs-material >=9.5.9 ; extra == 'dev'
|
|
55
55
|
Requires-Dist: mkdocstrings[python] ; extra == 'dev'
|
|
56
56
|
Requires-Dist: mkdocs-jupyter ; extra == 'dev'
|
|
57
57
|
Requires-Dist: mkdocs-redirects ; extra == 'dev'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ultralytics/__init__.py,sha256
|
|
1
|
+
ultralytics/__init__.py,sha256=-gWdBTB5ISYbDj7dtT3PyZixNrf8Li_QOTU4MP_gPK0,597
|
|
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=OZe3OfyNAeT1lRI7uJVM_Lla91mxGYgJMxrwyT7VP6o,20768
|
|
@@ -69,10 +69,10 @@ ultralytics/data/explorer/utils.py,sha256=a6ugY8rKpFM8dIRcUwRyjRkRJ-zXEwe-NiJr6C
|
|
|
69
69
|
ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
70
70
|
ultralytics/data/explorer/gui/dash.py,sha256=3Vi-k2LpUis-WHZ81Qnzlj71wpTCr4A8YxjUl0-v8T4,10042
|
|
71
71
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
72
|
-
ultralytics/engine/exporter.py,sha256=
|
|
72
|
+
ultralytics/engine/exporter.py,sha256=IP5b0jtwpOjs7CGI1rR4J6DTmqHoA22uXx7eJM93q5c,52576
|
|
73
73
|
ultralytics/engine/model.py,sha256=hDAtM-E-5qZx6HMu7wQPo7L7Os8wr4eMZyf-l3llGhI,37636
|
|
74
74
|
ultralytics/engine/predictor.py,sha256=95ujaUYbDtui-s4hloGmJ0yVm9IC05Ck5dyoyNTk0BU,17832
|
|
75
|
-
ultralytics/engine/results.py,sha256=
|
|
75
|
+
ultralytics/engine/results.py,sha256=CXtasTKBYdf_x3rfSQ6ExplE6F-f3eGL4XyUPXmFrfQ,30014
|
|
76
76
|
ultralytics/engine/trainer.py,sha256=3JQBpdDtnZTli2zz-czZrYv5ttnYMBJhiJD3ZhcelJM,34306
|
|
77
77
|
ultralytics/engine/tuner.py,sha256=yJTecrgsZbeE4XC8iJWoUA_DKACUnDSt8N1V_PTeCcc,11758
|
|
78
78
|
ultralytics/engine/validator.py,sha256=znVY4997-pMzx23FP_JpQczIEvWT5jp-sIEovYXI6RQ,14576
|
|
@@ -153,7 +153,7 @@ ultralytics/trackers/bot_sort.py,sha256=39AvhYVbT7izF3--rX_e6Lhgb5czTA23gw6AgnNc
|
|
|
153
153
|
ultralytics/trackers/byte_tracker.py,sha256=AQWpI-msOewPqPLnhvMTO_8Pk565IEd_ny6VvQQgMwk,18871
|
|
154
154
|
ultralytics/trackers/track.py,sha256=dl4qu2t3f_ZCUJqJqnrxDDXWfbpPdRFZVE8WGkcRFMg,3091
|
|
155
155
|
ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
156
|
-
ultralytics/trackers/utils/gmc.py,sha256=
|
|
156
|
+
ultralytics/trackers/utils/gmc.py,sha256=TvFYzqOSeYjXgt6M1b7BmlzrU4Srl34PFAuR_sZs6hY,13638
|
|
157
157
|
ultralytics/trackers/utils/kalman_filter.py,sha256=JN1sAcfJZy8fTZxc8w3jUJnGQDKtgAL__p4nTR6RM2I,15168
|
|
158
158
|
ultralytics/trackers/utils/matching.py,sha256=c_pthBfu9sWeMVYe-dSecdWcQxUey-mQT2yMVsFH3VQ,5404
|
|
159
159
|
ultralytics/utils/__init__.py,sha256=iCP2iY1J4ZQ15fT6_uMOIWvAf19F1ZWBWlEKXGqSSBA,36882
|
|
@@ -169,7 +169,7 @@ ultralytics/utils/loss.py,sha256=af2_eFPSR8S2t7dIh3H24WFkMYkN6mvreDEnOiYeAQc,325
|
|
|
169
169
|
ultralytics/utils/metrics.py,sha256=ViQzjq9t9dVlK1Owz_jtLb7ybTImNd38RLYKrm4rXx8,53358
|
|
170
170
|
ultralytics/utils/ops.py,sha256=RxnsheSa_mDWaCm0gCKNTRz7baTKIMQfy38Z2FP4e-o,32936
|
|
171
171
|
ultralytics/utils/patches.py,sha256=2iMWzwBpAjTt0UzaPzFO5JPVoKklUhftuo_3H7xBoDc,2659
|
|
172
|
-
ultralytics/utils/plotting.py,sha256=
|
|
172
|
+
ultralytics/utils/plotting.py,sha256=YDDHCuPO82gQNQpp-ZxlV5A5QUlatj2MBlqV5DZlVXc,44819
|
|
173
173
|
ultralytics/utils/tal.py,sha256=5ZLwIt-8atPzZQk0uj0w_YFsSRqQV-NfpESUQ945P1s,16017
|
|
174
174
|
ultralytics/utils/torch_utils.py,sha256=79VbjnMxNV_xXLrJjXhYP9eXfSJmJPeyH4hZItKfkKc,25143
|
|
175
175
|
ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
|
|
@@ -185,9 +185,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
185
185
|
ultralytics/utils/callbacks/raytune.py,sha256=6OgGNuC35F29lw8Dl_d0lue4-iBR6dqrBVQnIRQDx4E,632
|
|
186
186
|
ultralytics/utils/callbacks/tensorboard.py,sha256=fyhgBgcTmEIifBqxBJkoMZ6yQNBGhSLQBAsy770-RtA,4038
|
|
187
187
|
ultralytics/utils/callbacks/wb.py,sha256=03ACY2YwpTRigD0ZQH7_zlpwMdGw0lt23zX4d5Zaz28,6650
|
|
188
|
-
ultralytics-8.1.
|
|
189
|
-
ultralytics-8.1.
|
|
190
|
-
ultralytics-8.1.
|
|
191
|
-
ultralytics-8.1.
|
|
192
|
-
ultralytics-8.1.
|
|
193
|
-
ultralytics-8.1.
|
|
188
|
+
ultralytics-8.1.12.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
189
|
+
ultralytics-8.1.12.dist-info/METADATA,sha256=RklTJHR3iSnRq2UCuzTZYgbI5FOaUQa4LsJOP3u7G60,40213
|
|
190
|
+
ultralytics-8.1.12.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
191
|
+
ultralytics-8.1.12.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
192
|
+
ultralytics-8.1.12.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
193
|
+
ultralytics-8.1.12.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|