ultralytics 8.2.90__py3-none-any.whl → 8.2.92__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/base.py +5 -0
- ultralytics/engine/results.py +17 -2
- ultralytics/models/sam/modules/transformer.py +0 -1
- ultralytics/nn/tasks.py +1 -0
- ultralytics/solutions/object_counter.py +4 -6
- {ultralytics-8.2.90.dist-info → ultralytics-8.2.92.dist-info}/METADATA +1 -1
- {ultralytics-8.2.90.dist-info → ultralytics-8.2.92.dist-info}/RECORD +12 -12
- {ultralytics-8.2.90.dist-info → ultralytics-8.2.92.dist-info}/LICENSE +0 -0
- {ultralytics-8.2.90.dist-info → ultralytics-8.2.92.dist-info}/WHEEL +0 -0
- {ultralytics-8.2.90.dist-info → ultralytics-8.2.92.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.2.90.dist-info → ultralytics-8.2.92.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/data/base.py
CHANGED
|
@@ -91,6 +91,11 @@ class BaseDataset(Dataset):
|
|
|
91
91
|
self.npy_files = [Path(f).with_suffix(".npy") for f in self.im_files]
|
|
92
92
|
self.cache = cache.lower() if isinstance(cache, str) else "ram" if cache is True else None
|
|
93
93
|
if (self.cache == "ram" and self.check_cache_ram()) or self.cache == "disk":
|
|
94
|
+
if self.cache == "ram" and hyp.deterministic:
|
|
95
|
+
LOGGER.warning(
|
|
96
|
+
"WARNING ⚠️ cache='ram' may produce non-deterministic training results. "
|
|
97
|
+
"Consider cache='disk' as a deterministic alternative if your disk space allows."
|
|
98
|
+
)
|
|
94
99
|
self.cache_images()
|
|
95
100
|
|
|
96
101
|
# Transforms
|
ultralytics/engine/results.py
CHANGED
|
@@ -522,7 +522,13 @@ class Results(SimpleClass):
|
|
|
522
522
|
.contiguous()
|
|
523
523
|
/ 255
|
|
524
524
|
)
|
|
525
|
-
idx =
|
|
525
|
+
idx = (
|
|
526
|
+
pred_boxes.id
|
|
527
|
+
if pred_boxes.id is not None and color_mode == "instance"
|
|
528
|
+
else pred_boxes.cls
|
|
529
|
+
if pred_boxes and color_mode == "class"
|
|
530
|
+
else reversed(range(len(pred_masks)))
|
|
531
|
+
)
|
|
526
532
|
annotator.masks(pred_masks.data, colors=[colors(x, True) for x in idx], im_gpu=im_gpu)
|
|
527
533
|
|
|
528
534
|
# Plot Detect results
|
|
@@ -535,7 +541,16 @@ class Results(SimpleClass):
|
|
|
535
541
|
annotator.box_label(
|
|
536
542
|
box,
|
|
537
543
|
label,
|
|
538
|
-
color=colors(
|
|
544
|
+
color=colors(
|
|
545
|
+
c
|
|
546
|
+
if color_mode == "class"
|
|
547
|
+
else id
|
|
548
|
+
if id is not None
|
|
549
|
+
else i
|
|
550
|
+
if color_mode == "instance"
|
|
551
|
+
else None,
|
|
552
|
+
True,
|
|
553
|
+
),
|
|
539
554
|
rotated=is_obb,
|
|
540
555
|
)
|
|
541
556
|
|
|
@@ -61,7 +61,6 @@ class TwoWayTransformer(nn.Module):
|
|
|
61
61
|
Attributes:
|
|
62
62
|
depth (int): Number of layers in the transformer.
|
|
63
63
|
embedding_dim (int): Channel dimension for input embeddings.
|
|
64
|
-
embedding_dim (int): Channel dimension for input embeddings.
|
|
65
64
|
num_heads (int): Number of heads for multihead attention.
|
|
66
65
|
mlp_dim (int): Internal channel dimension for the MLP block.
|
|
67
66
|
layers (nn.ModuleList): List of TwoWayAttentionBlock layers.
|
ultralytics/nn/tasks.py
CHANGED
|
@@ -776,6 +776,7 @@ def torch_safe_load(weight):
|
|
|
776
776
|
attributes={
|
|
777
777
|
"ultralytics.nn.modules.block.Silence": "torch.nn.Identity", # YOLOv9e
|
|
778
778
|
"ultralytics.nn.tasks.YOLOv10DetectionModel": "ultralytics.nn.tasks.DetectionModel", # YOLOv10
|
|
779
|
+
"ultralytics.utils.loss.v10DetectLoss": "ultralytics.utils.loss.E2EDetectLoss", # YOLOv10
|
|
779
780
|
},
|
|
780
781
|
):
|
|
781
782
|
ckpt = torch.load(file, map_location="cpu")
|
|
@@ -60,7 +60,6 @@ class ObjectCounter:
|
|
|
60
60
|
self.out_counts = 0
|
|
61
61
|
self.count_ids = []
|
|
62
62
|
self.class_wise_count = {}
|
|
63
|
-
self.count_txt_thickness = 0
|
|
64
63
|
|
|
65
64
|
# Tracks info
|
|
66
65
|
self.track_history = defaultdict(list)
|
|
@@ -136,7 +135,7 @@ class ObjectCounter:
|
|
|
136
135
|
# Extract tracks
|
|
137
136
|
for box, track_id, cls in zip(boxes, track_ids, clss):
|
|
138
137
|
# Draw bounding box
|
|
139
|
-
annotator.box_label(box, label=
|
|
138
|
+
annotator.box_label(box, label=self.names[cls], color=colors(int(track_id), True))
|
|
140
139
|
|
|
141
140
|
# Store class info
|
|
142
141
|
if self.names[cls] not in self.class_wise_count:
|
|
@@ -182,10 +181,9 @@ class ObjectCounter:
|
|
|
182
181
|
self.count_ids.append(track_id)
|
|
183
182
|
|
|
184
183
|
# Determine the direction of movement (IN or OUT)
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if direction > 0:
|
|
184
|
+
dx = (box[0] - prev_position[0]) * (self.counting_region.centroid.x - prev_position[0])
|
|
185
|
+
dy = (box[1] - prev_position[1]) * (self.counting_region.centroid.y - prev_position[1])
|
|
186
|
+
if dx > 0 and dy > 0:
|
|
189
187
|
self.in_counts += 1
|
|
190
188
|
self.class_wise_count[self.names[cls]]["IN"] += 1
|
|
191
189
|
else:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.92
|
|
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=08fg47DuJflumuUBto480-9VCqtEGAhQjNnQdcHs9_c,22242
|
|
10
10
|
tests/test_solutions.py,sha256=p_2edhl96Ty3jwzSf02Q2m2mTu9skc0Z-eMcUuuXfLg,3300
|
|
11
|
-
ultralytics/__init__.py,sha256=
|
|
11
|
+
ultralytics/__init__.py,sha256=vqE9VwYPeH0JVhCAsZBNjQ4urkf202uV79ByZ4eShqs,695
|
|
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=pkB7wk0pHOA3xzKzMbS-hA0iJoPOWVNnwZJh0LuWh-w,33089
|
|
@@ -85,7 +85,7 @@ ultralytics/cfg/trackers/bytetrack.yaml,sha256=8vpTZ2x9mhRXJymoJvs1G8kTXo_HxbSwH
|
|
|
85
85
|
ultralytics/data/__init__.py,sha256=VGe-ATG7j35F4A4r8Jmzffjlhve4JAJPgRa5ahKTU18,616
|
|
86
86
|
ultralytics/data/annotator.py,sha256=PniOxH2MScWKp539vuufk69uG1JsltDB5OMCUhxn2QY,2489
|
|
87
87
|
ultralytics/data/augment.py,sha256=RbFhBQQrE9TazD2MmRPP60HKL3yhkRG0e0VMWbrKe3I,119270
|
|
88
|
-
ultralytics/data/base.py,sha256=
|
|
88
|
+
ultralytics/data/base.py,sha256=zi_1nnJb29gBqY3jrvbMCwh6RPpXhr08DQ2BQ2_dhTo,13835
|
|
89
89
|
ultralytics/data/build.py,sha256=AfMmz0sHIYmwry_90tEJFRk_kz0S3SolScVXqYHiT08,7261
|
|
90
90
|
ultralytics/data/converter.py,sha256=DjJ0atku2aKW0iS1PZPNX8V6WTrZ-CHZT6hopE1HSjI,21385
|
|
91
91
|
ultralytics/data/dataset.py,sha256=IS07ulk7rXPZ-SW_rjYF9mS-TxPXOY9bbo5jqfcwPqM,22874
|
|
@@ -101,7 +101,7 @@ ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDT
|
|
|
101
101
|
ultralytics/engine/exporter.py,sha256=FjatAPlx93IpkAReST3gPjgDntGbsNuBar13PYSLMcA,57078
|
|
102
102
|
ultralytics/engine/model.py,sha256=AB9tu7kJW-QiTAp0F_J8KQJ4FijsHXcYBTaVHb7aMrg,52281
|
|
103
103
|
ultralytics/engine/predictor.py,sha256=MgMWHUJdRcVCaVmOyvdy2Gjk_EyRHv-ar0SSGxQe8F4,17471
|
|
104
|
-
ultralytics/engine/results.py,sha256=
|
|
104
|
+
ultralytics/engine/results.py,sha256=x5Ptr5uGjEz63_N1DnfDg2ktNhLqT93oPyIPruuWp6w,70986
|
|
105
105
|
ultralytics/engine/trainer.py,sha256=7QPWrOwfw2hUNzNKtvTnAM2ui8vdIEDbMn9JTLkmQ9o,36307
|
|
106
106
|
ultralytics/engine/tuner.py,sha256=gPqDTHH7vRB2O3YyH26m1BjVKbXxuA2XAlPRzTKFZsc,11838
|
|
107
107
|
ultralytics/engine/validator.py,sha256=yaUMb5efBvgFg8M24IFlmv3J-acbbSgtqLCk-mM07Wo,14623
|
|
@@ -137,7 +137,7 @@ ultralytics/models/sam/modules/encoders.py,sha256=Ay3sYeUonCf6URXBdB0dDwyngovevW
|
|
|
137
137
|
ultralytics/models/sam/modules/memory_attention.py,sha256=XilWBnRfH8wZxIoL2-yEk-dRypCsS0Jf_9t8WJxXKg0,9722
|
|
138
138
|
ultralytics/models/sam/modules/sam.py,sha256=_C6tmlseAHA5U3eu4v_LDRTY8yyVv0Q4DCL2G2_2TVA,50036
|
|
139
139
|
ultralytics/models/sam/modules/tiny_encoder.py,sha256=NyzeFMLnmqwcFQFs-JBM9PCWSsYoYZ_6h59Un1DeDV0,41332
|
|
140
|
-
ultralytics/models/sam/modules/transformer.py,sha256=
|
|
140
|
+
ultralytics/models/sam/modules/transformer.py,sha256=nuhF_14LGrr5uYCAP9XCXps-zlVcT4OWO0evXWDxPwI,16081
|
|
141
141
|
ultralytics/models/sam/modules/utils.py,sha256=Y36V6BVy6GeaAvKE8gHmoDIa-f5LjJpmSVwywNkv2yk,12315
|
|
142
142
|
ultralytics/models/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
143
143
|
ultralytics/models/utils/loss.py,sha256=Ozi0Up7cmPAehXgqGuVSAtUS4XQxaX76KqE8Q0VHk7E,15840
|
|
@@ -169,7 +169,7 @@ ultralytics/models/yolo/world/train.py,sha256=gaDrAmLJpg9qDtmL5evA5HsV2yb4RTRSfk
|
|
|
169
169
|
ultralytics/models/yolo/world/train_world.py,sha256=IsnCEVt6DcM9lUskCKmIN-M8MM79xLpwTRqRoAHUnZ4,4857
|
|
170
170
|
ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
|
|
171
171
|
ultralytics/nn/autobackend.py,sha256=DZTIHsp2PLs8H2-oQR9LqA-uPj8DARGonCXzRv2Pkdc,31546
|
|
172
|
-
ultralytics/nn/tasks.py,sha256=
|
|
172
|
+
ultralytics/nn/tasks.py,sha256=dr1P-HeIJEM156Tuwq49j42r1aziyhKTTKxqGiVsXUw,46221
|
|
173
173
|
ultralytics/nn/modules/__init__.py,sha256=m8x-XRHVLWMECPeysVlv1TQenV-n8oAbK1gxnoXzLpk,2553
|
|
174
174
|
ultralytics/nn/modules/activation.py,sha256=chhn469wnRHEs5BMGNBYXwPYZc_7-urspTT8fnBd-xA,895
|
|
175
175
|
ultralytics/nn/modules/block.py,sha256=n6Xhevz8_n05UCt_vmZ7eVRiDbA_zV_TvWNBbpZe-qA,34352
|
|
@@ -182,7 +182,7 @@ ultralytics/solutions/ai_gym.py,sha256=MgD_4DciCqXquM2Y6yjIIRkGWIg3rNfSuXrFqYzOC
|
|
|
182
182
|
ultralytics/solutions/analytics.py,sha256=bGuZes11D7DNiTsHdwu6PJ0QA0vCiqMMAtZ7NyEkshY,11568
|
|
183
183
|
ultralytics/solutions/distance_calculation.py,sha256=o_DAHk4JX8n2Vt7E68MX67mREOBZuy5skbXtVZ6iu_4,5228
|
|
184
184
|
ultralytics/solutions/heatmap.py,sha256=oEVivA4KAK6z0wA5Ca_a2qTckQN8tCt9MCpsPREeNnk,10375
|
|
185
|
-
ultralytics/solutions/object_counter.py,sha256=
|
|
185
|
+
ultralytics/solutions/object_counter.py,sha256=QXSg2a5IBW70lirIKml8xNgPDyzUy7dLt2gUn59_18A,9941
|
|
186
186
|
ultralytics/solutions/parking_management.py,sha256=z0-g2nehh4aA1nO71foT8Rw5pQTxKnEdcKJb1Arrd0Q,10134
|
|
187
187
|
ultralytics/solutions/queue_management.py,sha256=q617BErsU69Rm76EFTd8mzoSpPU2WqTs6_pazBQ8GMc,6773
|
|
188
188
|
ultralytics/solutions/speed_estimation.py,sha256=kjqMSHGTHMZaNgTKNKWULxnJQNsvhq4WMUphMVlBjsc,6768
|
|
@@ -225,9 +225,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
225
225
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
226
226
|
ultralytics/utils/callbacks/tensorboard.py,sha256=0kn4IR10no99UCIheojWRujgybmUHSx5fPI6Vsq6l_g,4135
|
|
227
227
|
ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
|
|
228
|
-
ultralytics-8.2.
|
|
229
|
-
ultralytics-8.2.
|
|
230
|
-
ultralytics-8.2.
|
|
231
|
-
ultralytics-8.2.
|
|
232
|
-
ultralytics-8.2.
|
|
233
|
-
ultralytics-8.2.
|
|
228
|
+
ultralytics-8.2.92.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
229
|
+
ultralytics-8.2.92.dist-info/METADATA,sha256=YkrqHIT3KTMxKD0voROWiOTwrMRZKD4hGMnoVgc56l0,41871
|
|
230
|
+
ultralytics-8.2.92.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
|
231
|
+
ultralytics-8.2.92.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
232
|
+
ultralytics-8.2.92.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
233
|
+
ultralytics-8.2.92.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|