ultralytics 8.2.36__py3-none-any.whl → 8.2.37__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/data/loaders.py +1 -1
- ultralytics/nn/modules/block.py +0 -12
- ultralytics/nn/tasks.py +19 -6
- ultralytics/utils/plotting.py +110 -4
- {ultralytics-8.2.36.dist-info → ultralytics-8.2.37.dist-info}/METADATA +9 -9
- {ultralytics-8.2.36.dist-info → ultralytics-8.2.37.dist-info}/RECORD +11 -11
- {ultralytics-8.2.36.dist-info → ultralytics-8.2.37.dist-info}/LICENSE +0 -0
- {ultralytics-8.2.36.dist-info → ultralytics-8.2.37.dist-info}/WHEEL +0 -0
- {ultralytics-8.2.36.dist-info → ultralytics-8.2.37.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.2.36.dist-info → ultralytics-8.2.37.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/data/loaders.py
CHANGED
|
@@ -362,7 +362,7 @@ class LoadImagesAndVideos:
|
|
|
362
362
|
self.mode = "image"
|
|
363
363
|
im0 = cv2.imread(path) # BGR
|
|
364
364
|
if im0 is None:
|
|
365
|
-
raise FileNotFoundError(f"Image
|
|
365
|
+
raise FileNotFoundError(f"Image Read Error {path}")
|
|
366
366
|
paths.append(path)
|
|
367
367
|
imgs.append(im0)
|
|
368
368
|
info.append(f"image {self.count + 1}/{self.nf} {path}: ")
|
ultralytics/nn/modules/block.py
CHANGED
|
@@ -672,18 +672,6 @@ class SPPELAN(nn.Module):
|
|
|
672
672
|
return self.cv5(torch.cat(y, 1))
|
|
673
673
|
|
|
674
674
|
|
|
675
|
-
class Silence(nn.Module):
|
|
676
|
-
"""Silence."""
|
|
677
|
-
|
|
678
|
-
def __init__(self):
|
|
679
|
-
"""Initializes the Silence module."""
|
|
680
|
-
super(Silence, self).__init__()
|
|
681
|
-
|
|
682
|
-
def forward(self, x):
|
|
683
|
-
"""Forward pass through Silence layer."""
|
|
684
|
-
return x
|
|
685
|
-
|
|
686
|
-
|
|
687
675
|
class CBLinear(nn.Module):
|
|
688
676
|
"""CBLinear."""
|
|
689
677
|
|
ultralytics/nn/tasks.py
CHANGED
|
@@ -675,7 +675,7 @@ class Ensemble(nn.ModuleList):
|
|
|
675
675
|
|
|
676
676
|
|
|
677
677
|
@contextlib.contextmanager
|
|
678
|
-
def temporary_modules(modules=
|
|
678
|
+
def temporary_modules(modules={}, attributes={}):
|
|
679
679
|
"""
|
|
680
680
|
Context manager for temporarily adding or modifying modules in Python's module cache (`sys.modules`).
|
|
681
681
|
|
|
@@ -685,11 +685,13 @@ def temporary_modules(modules=None):
|
|
|
685
685
|
|
|
686
686
|
Args:
|
|
687
687
|
modules (dict, optional): A dictionary mapping old module paths to new module paths.
|
|
688
|
+
attributes (dict, optional): A dictionary mapping old module attributes to new module attributes.
|
|
688
689
|
|
|
689
690
|
Example:
|
|
690
691
|
```python
|
|
691
|
-
with temporary_modules({'old.module.path': 'new.module.path'}):
|
|
692
|
+
with temporary_modules({'old.module.path': 'new.module.path'}, {'old.module.attribute': 'new.module.attribute'}):
|
|
692
693
|
import old.module.path # this will now import new.module.path
|
|
694
|
+
from old.module import attribute # this will now import new.module.attribute
|
|
693
695
|
```
|
|
694
696
|
|
|
695
697
|
Note:
|
|
@@ -697,13 +699,21 @@ def temporary_modules(modules=None):
|
|
|
697
699
|
Be aware that directly manipulating `sys.modules` can lead to unpredictable results, especially in larger
|
|
698
700
|
applications or libraries. Use this function with caution.
|
|
699
701
|
"""
|
|
700
|
-
if not modules:
|
|
701
|
-
modules = {}
|
|
702
702
|
|
|
703
703
|
import importlib
|
|
704
704
|
import sys
|
|
705
705
|
|
|
706
706
|
try:
|
|
707
|
+
# Set attributes in sys.modules under their old name
|
|
708
|
+
for old, new in attributes.items():
|
|
709
|
+
old_module, old_attr = old.rsplit(".", 1)
|
|
710
|
+
new_module, new_attr = new.rsplit(".", 1)
|
|
711
|
+
setattr(
|
|
712
|
+
importlib.import_module(old_module),
|
|
713
|
+
old_attr,
|
|
714
|
+
getattr(importlib.import_module(new_module), new_attr),
|
|
715
|
+
)
|
|
716
|
+
|
|
707
717
|
# Set modules in sys.modules under their old name
|
|
708
718
|
for old, new in modules.items():
|
|
709
719
|
sys.modules[old] = importlib.import_module(new)
|
|
@@ -734,11 +744,14 @@ def torch_safe_load(weight):
|
|
|
734
744
|
file = attempt_download_asset(weight) # search online if missing locally
|
|
735
745
|
try:
|
|
736
746
|
with temporary_modules(
|
|
737
|
-
{
|
|
747
|
+
modules={
|
|
738
748
|
"ultralytics.yolo.utils": "ultralytics.utils",
|
|
739
749
|
"ultralytics.yolo.v8": "ultralytics.models.yolo",
|
|
740
750
|
"ultralytics.yolo.data": "ultralytics.data",
|
|
741
|
-
}
|
|
751
|
+
},
|
|
752
|
+
attributes={
|
|
753
|
+
"ultralytics.nn.modules.block.Silence": "torch.nn.Identity",
|
|
754
|
+
},
|
|
742
755
|
): # for legacy 8.0 Classify and Pose models
|
|
743
756
|
ckpt = torch.load(file, map_location="cpu")
|
|
744
757
|
|
ultralytics/utils/plotting.py
CHANGED
|
@@ -183,11 +183,108 @@ class Annotator:
|
|
|
183
183
|
(104, 31, 17),
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
def
|
|
187
|
-
"""
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
def get_txt_color(self, color=(128, 128, 128), txt_color=(255, 255, 255)):
|
|
187
|
+
"""Assign text color based on background color."""
|
|
188
|
+
if color in self.dark_colors:
|
|
189
|
+
return 104, 31, 17
|
|
190
|
+
elif color in self.light_colors:
|
|
191
|
+
return 255, 255, 255
|
|
192
|
+
else:
|
|
193
|
+
return txt_color
|
|
194
|
+
|
|
195
|
+
def circle_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), margin=2):
|
|
196
|
+
"""
|
|
197
|
+
Draws a label with a background rectangle centered within a given bounding box.
|
|
198
|
+
|
|
199
|
+
Args:
|
|
200
|
+
box (tuple): The bounding box coordinates (x1, y1, x2, y2).
|
|
201
|
+
label (str): The text label to be displayed.
|
|
202
|
+
color (tuple, optional): The background color of the rectangle (R, G, B).
|
|
203
|
+
txt_color (tuple, optional): The color of the text (R, G, B).
|
|
204
|
+
margin (int, optional): The margin between the text and the rectangle border.
|
|
205
|
+
"""
|
|
206
|
+
|
|
207
|
+
# If label have more than 3 characters, skip other characters, due to circle size
|
|
208
|
+
if len(label) > 3:
|
|
209
|
+
print(
|
|
210
|
+
f"Length of label is {len(label)}, initial 3 label characters will be considered for circle annotation!"
|
|
211
|
+
)
|
|
212
|
+
label = label[:3]
|
|
213
|
+
|
|
214
|
+
# Calculate the center of the box
|
|
215
|
+
x_center, y_center = int((box[0] + box[2]) / 2), int((box[1] + box[3]) / 2)
|
|
216
|
+
# Get the text size
|
|
217
|
+
text_size = cv2.getTextSize(str(label), cv2.FONT_HERSHEY_SIMPLEX, self.sf - 0.15, self.tf)[0]
|
|
218
|
+
# Calculate the required radius to fit the text with the margin
|
|
219
|
+
required_radius = int(((text_size[0] ** 2 + text_size[1] ** 2) ** 0.5) / 2) + margin
|
|
220
|
+
# Draw the circle with the required radius
|
|
221
|
+
cv2.circle(self.im, (x_center, y_center), required_radius, color, -1)
|
|
222
|
+
# Calculate the position for the text
|
|
223
|
+
text_x = x_center - text_size[0] // 2
|
|
224
|
+
text_y = y_center + text_size[1] // 2
|
|
225
|
+
# Draw the text
|
|
226
|
+
cv2.putText(
|
|
227
|
+
self.im,
|
|
228
|
+
str(label),
|
|
229
|
+
(text_x, text_y),
|
|
230
|
+
cv2.FONT_HERSHEY_SIMPLEX,
|
|
231
|
+
self.sf - 0.15,
|
|
232
|
+
self.get_txt_color(color, txt_color),
|
|
233
|
+
self.tf,
|
|
234
|
+
lineType=cv2.LINE_AA,
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
def text_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), margin=5):
|
|
238
|
+
"""
|
|
239
|
+
Draws a label with a background rectangle centered within a given bounding box.
|
|
240
|
+
|
|
241
|
+
Args:
|
|
242
|
+
box (tuple): The bounding box coordinates (x1, y1, x2, y2).
|
|
243
|
+
label (str): The text label to be displayed.
|
|
244
|
+
color (tuple, optional): The background color of the rectangle (R, G, B).
|
|
245
|
+
txt_color (tuple, optional): The color of the text (R, G, B).
|
|
246
|
+
margin (int, optional): The margin between the text and the rectangle border.
|
|
247
|
+
"""
|
|
248
|
+
|
|
249
|
+
# Calculate the center of the bounding box
|
|
250
|
+
x_center, y_center = int((box[0] + box[2]) / 2), int((box[1] + box[3]) / 2)
|
|
251
|
+
# Get the size of the text
|
|
252
|
+
text_size = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, self.sf - 0.1, self.tf)[0]
|
|
253
|
+
# Calculate the top-left corner of the text (to center it)
|
|
254
|
+
text_x = x_center - text_size[0] // 2
|
|
255
|
+
text_y = y_center + text_size[1] // 2
|
|
256
|
+
# Calculate the coordinates of the background rectangle
|
|
257
|
+
rect_x1 = text_x - margin
|
|
258
|
+
rect_y1 = text_y - text_size[1] - margin
|
|
259
|
+
rect_x2 = text_x + text_size[0] + margin
|
|
260
|
+
rect_y2 = text_y + margin
|
|
261
|
+
# Draw the background rectangle
|
|
262
|
+
cv2.rectangle(self.im, (rect_x1, rect_y1), (rect_x2, rect_y2), color, -1)
|
|
263
|
+
# Draw the text on top of the rectangle
|
|
264
|
+
cv2.putText(
|
|
265
|
+
self.im,
|
|
266
|
+
label,
|
|
267
|
+
(text_x, text_y),
|
|
268
|
+
cv2.FONT_HERSHEY_SIMPLEX,
|
|
269
|
+
self.sf - 0.1,
|
|
270
|
+
self.get_txt_color(color, txt_color),
|
|
271
|
+
self.tf,
|
|
272
|
+
lineType=cv2.LINE_AA,
|
|
190
273
|
)
|
|
274
|
+
|
|
275
|
+
def box_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), rotated=False):
|
|
276
|
+
"""
|
|
277
|
+
Draws a bounding box to image with label.
|
|
278
|
+
|
|
279
|
+
Args:
|
|
280
|
+
box (tuple): The bounding box coordinates (x1, y1, x2, y2).
|
|
281
|
+
label (str): The text label to be displayed.
|
|
282
|
+
color (tuple, optional): The background color of the rectangle (R, G, B).
|
|
283
|
+
txt_color (tuple, optional): The color of the text (R, G, B).
|
|
284
|
+
rotated (bool, optional): Variable used to check if task is OBB
|
|
285
|
+
"""
|
|
286
|
+
|
|
287
|
+
txt_color = self.get_txt_color(color, txt_color)
|
|
191
288
|
if isinstance(box, torch.Tensor):
|
|
192
289
|
box = box.tolist()
|
|
193
290
|
if self.pil or not is_ascii(label):
|
|
@@ -242,6 +339,7 @@ class Annotator:
|
|
|
242
339
|
alpha (float): Mask transparency: 0.0 fully transparent, 1.0 opaque
|
|
243
340
|
retina_masks (bool): Whether to use high resolution masks or not. Defaults to False.
|
|
244
341
|
"""
|
|
342
|
+
|
|
245
343
|
if self.pil:
|
|
246
344
|
# Convert to numpy first
|
|
247
345
|
self.im = np.asarray(self.im).copy()
|
|
@@ -281,6 +379,7 @@ class Annotator:
|
|
|
281
379
|
Note:
|
|
282
380
|
`kpt_line=True` currently only supports human pose plotting.
|
|
283
381
|
"""
|
|
382
|
+
|
|
284
383
|
if self.pil:
|
|
285
384
|
# Convert to numpy first
|
|
286
385
|
self.im = np.asarray(self.im).copy()
|
|
@@ -376,6 +475,7 @@ class Annotator:
|
|
|
376
475
|
Returns:
|
|
377
476
|
angle (degree): Degree value of angle between three points
|
|
378
477
|
"""
|
|
478
|
+
|
|
379
479
|
x_min, y_min, x_max, y_max = bbox
|
|
380
480
|
width = x_max - x_min
|
|
381
481
|
height = y_max - y_min
|
|
@@ -390,6 +490,7 @@ class Annotator:
|
|
|
390
490
|
color (tuple): Region Color value
|
|
391
491
|
thickness (int): Region area thickness value
|
|
392
492
|
"""
|
|
493
|
+
|
|
393
494
|
cv2.polylines(self.im, [np.array(reg_pts, dtype=np.int32)], isClosed=True, color=color, thickness=thickness)
|
|
394
495
|
|
|
395
496
|
def draw_centroid_and_tracks(self, track, color=(255, 0, 255), track_thickness=2):
|
|
@@ -401,6 +502,7 @@ class Annotator:
|
|
|
401
502
|
color (tuple): tracks line color
|
|
402
503
|
track_thickness (int): track line thickness value
|
|
403
504
|
"""
|
|
505
|
+
|
|
404
506
|
points = np.hstack(track).astype(np.int32).reshape((-1, 1, 2))
|
|
405
507
|
cv2.polylines(self.im, [points], isClosed=False, color=color, thickness=track_thickness)
|
|
406
508
|
cv2.circle(self.im, (int(track[-1][0]), int(track[-1][1])), track_thickness * 2, color, -1)
|
|
@@ -513,6 +615,7 @@ class Annotator:
|
|
|
513
615
|
Returns:
|
|
514
616
|
angle (degree): Degree value of angle between three points
|
|
515
617
|
"""
|
|
618
|
+
|
|
516
619
|
a, b, c = np.array(a), np.array(b), np.array(c)
|
|
517
620
|
radians = np.arctan2(c[1] - b[1], c[0] - b[0]) - np.arctan2(a[1] - b[1], a[0] - b[0])
|
|
518
621
|
angle = np.abs(radians * 180.0 / np.pi)
|
|
@@ -530,6 +633,7 @@ class Annotator:
|
|
|
530
633
|
shape (tuple): imgsz for model inference
|
|
531
634
|
radius (int): Keypoint radius value
|
|
532
635
|
"""
|
|
636
|
+
|
|
533
637
|
if indices is None:
|
|
534
638
|
indices = [2, 5, 7]
|
|
535
639
|
for i, k in enumerate(keypoints):
|
|
@@ -626,6 +730,7 @@ class Annotator:
|
|
|
626
730
|
det_label (str): Detection label text
|
|
627
731
|
track_label (str): Tracking label text
|
|
628
732
|
"""
|
|
733
|
+
|
|
629
734
|
cv2.polylines(self.im, [np.int32([mask])], isClosed=True, color=mask_color, thickness=2)
|
|
630
735
|
|
|
631
736
|
label = f"Track ID: {track_label}" if track_label else det_label
|
|
@@ -695,6 +800,7 @@ class Annotator:
|
|
|
695
800
|
color (tuple): object centroid and line color value
|
|
696
801
|
pin_color (tuple): visioneye point color value
|
|
697
802
|
"""
|
|
803
|
+
|
|
698
804
|
center_bbox = int((box[0] + box[2]) / 2), int((box[1] + box[3]) / 2)
|
|
699
805
|
cv2.circle(self.im, center_point, self.tf * 2, pin_color, -1)
|
|
700
806
|
cv2.circle(self.im, center_bbox, self.tf * 2, color, -1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.37
|
|
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
|
|
@@ -188,13 +188,13 @@ See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python) for more exa
|
|
|
188
188
|
|
|
189
189
|
Ultralytics provides interactive notebooks for YOLOv8, covering training, validation, tracking, and more. Each notebook is paired with a [YouTube](https://youtube.com/ultralytics?sub_confirmation=1) tutorial, making it easy to learn and implement advanced YOLOv8 features.
|
|
190
190
|
|
|
191
|
-
| Docs
|
|
192
|
-
|
|
|
193
|
-
| <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a>
|
|
194
|
-
| <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a>
|
|
195
|
-
| <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a>
|
|
196
|
-
| <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a>
|
|
197
|
-
| <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a>
|
|
191
|
+
| Docs | Notebook | YouTube |
|
|
192
|
+
| ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
|
193
|
+
| <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
|
|
194
|
+
| <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
|
|
195
|
+
| <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
|
|
196
|
+
| <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
|
|
197
|
+
| <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
|
|
198
198
|
| <a href="https://docs.ultralytics.com/datasets/explorer/">Ultralytics Datasets Explorer with SQL and OpenAI Integration 🚀 New</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/docs/en/datasets/explorer/explorer.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/3VryynorQeo"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
|
|
199
199
|
|
|
200
200
|
## <div align="center">Models</div>
|
|
@@ -332,7 +332,7 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
|
|
|
332
332
|
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" alt="NeuralMagic logo"></a>
|
|
333
333
|
</div>
|
|
334
334
|
|
|
335
|
-
| Roboflow |
|
|
335
|
+
| Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
|
|
336
336
|
| :--------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
|
|
337
337
|
| Label and export your custom datasets directly to YOLOv8 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) | Automatically track, visualize and even remotely train YOLOv8 using [ClearML](https://clear.ml/) (open-source!) | Free forever, [Comet](https://bit.ly/yolov8-readme-comet) lets you save YOLOv8 models, resume training, and interactively visualize and debug predictions | Run YOLOv8 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
|
|
338
338
|
|
|
@@ -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=5cTM45P77LoOl-qixJ7TQmf66zw69adj01kNaaSxHqE,20265
|
|
10
|
-
ultralytics/__init__.py,sha256=
|
|
10
|
+
ultralytics/__init__.py,sha256=SZ2J0Bd3FrWlOh7a0GS_8EnhlKDLXT2cih66PzAHgfU,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
|
|
@@ -82,7 +82,7 @@ ultralytics/data/base.py,sha256=C3teLnw97ZTbpJHT9P7yYWosAKocMzgJjRe1rxgfpls,1352
|
|
|
82
82
|
ultralytics/data/build.py,sha256=AfMmz0sHIYmwry_90tEJFRk_kz0S3SolScVXqYHiT08,7261
|
|
83
83
|
ultralytics/data/converter.py,sha256=NLDiV67RshbKQnMJUiQQF11boVzEqgi2Hz39nKVAI4U,17528
|
|
84
84
|
ultralytics/data/dataset.py,sha256=NFaXyHRn64TyTEbtSkr7SkqWXK8bEJl6lZ6M1JwO3MY,22201
|
|
85
|
-
ultralytics/data/loaders.py,sha256=
|
|
85
|
+
ultralytics/data/loaders.py,sha256=eqfgFwrQeCiqiZKfkmZ54SN0APVJDGhnlXTTFqeKFSU,23932
|
|
86
86
|
ultralytics/data/split_dota.py,sha256=xiPScUhknxAyBgJ_J7g8SJdgjJdomSVVAosfZ51rGWA,10072
|
|
87
87
|
ultralytics/data/utils.py,sha256=zqFg4xaWU--fastZmwvZ3DxGyJQ3i4tVNLuYnqS1xxs,31044
|
|
88
88
|
ultralytics/data/explorer/__init__.py,sha256=-Y3m1ZedepOQUv_KW82zaGxvU_PSHcuwUTFqG9BhAr4,113
|
|
@@ -159,9 +159,9 @@ ultralytics/models/yolo/world/train.py,sha256=acYN2-onL69LrL4av6_hY2r5AY0urC0WVi
|
|
|
159
159
|
ultralytics/models/yolo/world/train_world.py,sha256=n0XTAHYxufHU5OZ_QjpkHieKik-24z0LrYKzWYbCLvA,4798
|
|
160
160
|
ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
|
|
161
161
|
ultralytics/nn/autobackend.py,sha256=zsMF-GS12xtMBeQEkSoJ5cudEHyzMaRSQBuXcfuBNdo,31210
|
|
162
|
-
ultralytics/nn/tasks.py,sha256=
|
|
162
|
+
ultralytics/nn/tasks.py,sha256=extgDOPk2wHFxjiyOMotM68AqeGzNrMwehEdi5lX0JE,44954
|
|
163
163
|
ultralytics/nn/modules/__init__.py,sha256=JPj_TloK33DdxS8gvA8Pcet5ax1SgbRcb5mTTOS0DCI,2371
|
|
164
|
-
ultralytics/nn/modules/block.py,sha256=
|
|
164
|
+
ultralytics/nn/modules/block.py,sha256=3SfxkNMBKbjzAzNrt_CeGxpeBLkrdko7n07cDSIY6gg,25781
|
|
165
165
|
ultralytics/nn/modules/conv.py,sha256=Ywe87IhuaS22mR2JJ9xjnW8Sb-m7WTjxuqIxV_Dv8lI,12722
|
|
166
166
|
ultralytics/nn/modules/head.py,sha256=3N_4zW1UvhI1jCrIxIkNYxQDdiW6HxtxpaNAAudq6NU,22236
|
|
167
167
|
ultralytics/nn/modules/transformer.py,sha256=AxD9uURpCl-EqvXe3DiG6JW-pBzB16G-AahLdZ7yayo,17909
|
|
@@ -197,7 +197,7 @@ ultralytics/utils/loss.py,sha256=ejXnPEIAzNEoNz2UjW0_fcdeUs9Hy-jPzUrJ3FiIIwE,327
|
|
|
197
197
|
ultralytics/utils/metrics.py,sha256=XPD-xP0fchR8KgCuTcihV2-n0EK1cWi3-53BWN_pLuA,53518
|
|
198
198
|
ultralytics/utils/ops.py,sha256=J9wbb9aTW9aaI5DJRqA72BZAX77cmVyCJdnGuwkDu-k,33089
|
|
199
199
|
ultralytics/utils/patches.py,sha256=SgMqeMsq2K6JoBJP1NplXMl9C6rK0JeJUChjBrJOneo,2750
|
|
200
|
-
ultralytics/utils/plotting.py,sha256=
|
|
200
|
+
ultralytics/utils/plotting.py,sha256=I3YYLSsmj1BX8S5DphsedAm0RfisrPbeLpyuzsKXbqY,53288
|
|
201
201
|
ultralytics/utils/tal.py,sha256=xuIyryUjaaYHkHPG9GvBwh1xxN2Hq4y3hXOtuERehwY,16017
|
|
202
202
|
ultralytics/utils/torch_utils.py,sha256=G8gVzI3sOSVSHORi5a2u-iFhUCGGHn5_eKHaOaLfsOY,27047
|
|
203
203
|
ultralytics/utils/triton.py,sha256=gg1finxno_tY2Ge9PMhmu7PI9wvoFZoiicdT4Bhqv3w,3936
|
|
@@ -213,9 +213,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
213
213
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
214
214
|
ultralytics/utils/callbacks/tensorboard.py,sha256=QEgOVhUqY9akOs5TJIwz1Rvn6l32xWLpOxlwEyWF0B8,4136
|
|
215
215
|
ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
|
|
216
|
-
ultralytics-8.2.
|
|
217
|
-
ultralytics-8.2.
|
|
218
|
-
ultralytics-8.2.
|
|
219
|
-
ultralytics-8.2.
|
|
220
|
-
ultralytics-8.2.
|
|
221
|
-
ultralytics-8.2.
|
|
216
|
+
ultralytics-8.2.37.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
217
|
+
ultralytics-8.2.37.dist-info/METADATA,sha256=LHuqk6NTu__ZhHOS1G0EldVE8hSCUtsXdmGtp55pHRQ,41316
|
|
218
|
+
ultralytics-8.2.37.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
|
219
|
+
ultralytics-8.2.37.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
220
|
+
ultralytics-8.2.37.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
221
|
+
ultralytics-8.2.37.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|