ultralytics 8.3.100__py3-none-any.whl → 8.3.101__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.
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.100"
3
+ __version__ = "8.3.101"
4
4
 
5
5
  import os
6
6
 
@@ -534,7 +534,7 @@ class Model(torch.nn.Module):
534
534
  x in ARGV for x in ("predict", "track", "mode=predict", "mode=track")
535
535
  )
536
536
 
537
- custom = {"conf": 0.25, "batch": 1, "save": is_cli, "mode": "predict"} # method defaults
537
+ custom = {"conf": 0.25, "batch": 1, "save": is_cli, "mode": "predict", "rect": True} # method defaults
538
538
  args = {**self.overrides, **custom, **kwargs} # highest priority args on the right
539
539
  prompts = args.pop("prompts", None) # for SAM-type models
540
540
 
@@ -183,7 +183,9 @@ class BasePredictor:
183
183
  same_shapes = len({x.shape for x in im}) == 1
184
184
  letterbox = LetterBox(
185
185
  self.imgsz,
186
- auto=same_shapes and (self.model.pt or (getattr(self.model, "dynamic", False) and not self.model.imx)),
186
+ auto=same_shapes
187
+ and self.args.rect
188
+ and (self.model.pt or (getattr(self.model, "dynamic", False) and not self.model.imx)),
187
189
  stride=self.model.stride,
188
190
  )
189
191
  return [letterbox(image=x) for x in im]
@@ -2,6 +2,7 @@
2
2
 
3
3
  from pathlib import Path
4
4
 
5
+ from ultralytics.data.build import load_inference_source
5
6
  from ultralytics.engine.model import Model
6
7
  from ultralytics.models import yolo
7
8
  from ultralytics.nn.tasks import (
@@ -267,7 +268,14 @@ class YOLOE(Model):
267
268
  f"{len(visual_prompts['cls'])} respectively"
268
269
  )
269
270
  self.predictor = (predictor or self._smart_load("predictor"))(
270
- overrides={"task": "segment", "mode": "predict", "save": False, "verbose": False}, _callbacks=self.callbacks
271
+ overrides={
272
+ "task": self.model.task,
273
+ "mode": "predict",
274
+ "save": False,
275
+ "verbose": refer_image is None,
276
+ "batch": 1,
277
+ },
278
+ _callbacks=self.callbacks,
271
279
  )
272
280
 
273
281
  if len(visual_prompts):
@@ -281,6 +289,12 @@ class YOLOE(Model):
281
289
  self.predictor.set_prompts(visual_prompts.copy())
282
290
 
283
291
  self.predictor.setup_model(model=self.model)
292
+
293
+ if refer_image is None:
294
+ dataset = load_inference_source(source)
295
+ if dataset.mode in {"video", "stream"}:
296
+ # NOTE: set the first frame as refer image for videos/streams inference
297
+ refer_image = next(iter(dataset))[1][0]
284
298
  if refer_image is not None and len(visual_prompts):
285
299
  vpe = self.predictor.get_vpe(refer_image)
286
300
  self.model.set_classes(self.model.names, vpe)
ultralytics/nn/tasks.py CHANGED
@@ -972,8 +972,8 @@ class YOLOEModel(DetectionModel):
972
972
  assert not self.training
973
973
  return vpe
974
974
  cls_pe = self.get_cls_pe(m.get_tpe(tpe), vpe).to(device=x[0].device, dtype=x[0].dtype)
975
- if len(cls_pe) != b:
976
- cls_pe = cls_pe.repeat(b, 1, 1)
975
+ if cls_pe.shape[0] != b or m.export:
976
+ cls_pe = cls_pe.expand(b, -1, -1)
977
977
  x = m(x, cls_pe)
978
978
  else:
979
979
  x = m(x) # run
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.100
3
+ Version: 8.3.101
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -7,7 +7,7 @@ tests/test_exports.py,sha256=ONs5zF9gVOl_sabzLmFyhp5zQ2sv3uSWzXUjoTgJPME,9242
7
7
  tests/test_integrations.py,sha256=ZgpddWHEVqiP4bGhVw8fLc2wdz0rCxuxr0FQ2dTgnIE,6067
8
8
  tests/test_python.py,sha256=Xrxx-Cul4xumA5qDCnduXOA3InfADT3jrtnEh4jpOeY,24638
9
9
  tests/test_solutions.py,sha256=4TNQZ9aH1doWujQmh4pgxqHHCU2Umk-IBXjAZg7HIqk,5135
10
- ultralytics/__init__.py,sha256=hd0hjRz_r94jsMM-hxLLO0XW__p0C5GZqJO5EnB8tDg,730
10
+ ultralytics/__init__.py,sha256=EhtRGTnPR6Ul8ikA0CCjiIZbbduhnFGJ_5RZmX-mqHw,730
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=h-VYq22NA05gVibxa5eVO-pMk9OqlcaUMx2NbgklnXM,39894
@@ -112,8 +112,8 @@ ultralytics/data/split_dota.py,sha256=p8eVGht9tABSVbf9vwvxA_AQYEva3IGHePKlMeNrn6
112
112
  ultralytics/data/utils.py,sha256=aRPwIoLrCML_Kcd0dI9B6c5Ct4dvhdF36rDHtuf7Ww4,33217
113
113
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
114
114
  ultralytics/engine/exporter.py,sha256=GQQLD9hbmw-SLvXFB1c0LD59E6LCciTTlfriXZUktqI,77745
115
- ultralytics/engine/model.py,sha256=uAqzcgn9EjmKG1lO7rwcW5sIMIwJTHHC-popARr2QSU,52902
116
- ultralytics/engine/predictor.py,sha256=ozPvmwlek6QRN5canK-BTQJI8KbBynWozF3AYN1ghE8,21626
115
+ ultralytics/engine/model.py,sha256=YgQKYZrPENSTvLENspg-bXI9FinzzWARfb0U-C9vH-M,52916
116
+ ultralytics/engine/predictor.py,sha256=fRUh82EJlu_6ZlIy8NFovlCcgX53UbRYSXcLljOs7Sc,21669
117
117
  ultralytics/engine/results.py,sha256=H3pFJhUjYKvVyOUqqZjfIn8vnCpl81aYNOnregMrBoQ,79716
118
118
  ultralytics/engine/trainer.py,sha256=KAeiNoH5NIRhQPIfr5AhVwDerk9dy0-QJu-FlxtG4xA,38904
119
119
  ultralytics/engine/tuner.py,sha256=GsDhrI3uWm3YYEQHpqxLCehXsUMRWrhmXFW6X4vJB3s,12205
@@ -156,7 +156,7 @@ ultralytics/models/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXp
156
156
  ultralytics/models/utils/loss.py,sha256=ZI1PsYNNuVDzRnUJu4gbMDCRnHgqLxL2Xzk3EPUq-M8,17921
157
157
  ultralytics/models/utils/ops.py,sha256=2IZSNqoOKfUk3dta_l-FIklfPRC9f0gADnR9R_avun0,12706
158
158
  ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR5b7zDk,307
159
- ultralytics/models/yolo/model.py,sha256=buVihN_E9UVf7_AUDROW4Ee4iWOiGHS8Fzhbi-Yyx1M,11781
159
+ ultralytics/models/yolo/model.py,sha256=c8KPHwaEWqoXebF1Ry-0Vhh6qEvFYxsmFGqaz-C5sg8,12259
160
160
  ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
161
161
  ultralytics/models/yolo/classify/predict.py,sha256=vKbdvlX9MhSOB3KrBOnq6XYq1l5JcGZmPVGtsmaS2m8,3525
162
162
  ultralytics/models/yolo/classify/train.py,sha256=E8dPIlDQ-l3irjdGkm5lOpKjV-DHLvj6za5UNbWaIcg,8996
@@ -187,7 +187,7 @@ ultralytics/models/yolo/yoloe/train_seg.py,sha256=JguKB1ez8Rf7XBu_D_mWHMLJto7y7K
187
187
  ultralytics/models/yolo/yoloe/val.py,sha256=n-wDJprRMqqio6Ndsg_OpjNJQCPy_wIMzPMzecESzjs,8244
188
188
  ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
189
189
  ultralytics/nn/autobackend.py,sha256=jqNBzu9kNHVyZgTky8dhMQLMKo8YWwuaokLCKgp-alw,38703
190
- ultralytics/nn/tasks.py,sha256=HuuE-nscYYdWbyqJ2tXR_tQSQhW9C-zOpU-OXNkmb6I,62800
190
+ ultralytics/nn/tasks.py,sha256=IhwALGXXrFeNSJivzY6JT4YDg3k-trtLvR0qrJE5W9U,62818
191
191
  ultralytics/nn/text_model.py,sha256=P75y5kaWFm2MyTTLLDK9drwKLxls5yUqPZn1vIPa4gM,6391
192
192
  ultralytics/nn/modules/__init__.py,sha256=dXLtIk9rt944WfsTdpgEdWOg3HQEHdwQztuZ6WNJygs,3144
193
193
  ultralytics/nn/modules/activation.py,sha256=_DL_rQw4QmhNO0CaftNR8HRvqNnTGRbmjyD6HGbPjxw,1392
@@ -252,9 +252,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=TQDHJsgAdnMtSdLeQyVTJ1zBdvuwLm-U4U
252
252
  ultralytics/utils/callbacks/raytune.py,sha256=omVZNNuzYxsZZXrF9xpbFv7R1Wjdx1j-gv0xXuZrQas,1122
253
253
  ultralytics/utils/callbacks/tensorboard.py,sha256=rnyja6LpSyixwuL0WKovgARe6RPiX8ORuknlre3VEu4,4255
254
254
  ultralytics/utils/callbacks/wb.py,sha256=AZH7-bARpHhnonnN57dvoPpfK35xBnu7rINZzHeugeg,6851
255
- ultralytics-8.3.100.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
256
- ultralytics-8.3.100.dist-info/METADATA,sha256=USTdSYW1x5UEI8ya4O9K_mAz4hrc548R6mu8Shx0-xs,37380
257
- ultralytics-8.3.100.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
258
- ultralytics-8.3.100.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
259
- ultralytics-8.3.100.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
260
- ultralytics-8.3.100.dist-info/RECORD,,
255
+ ultralytics-8.3.101.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
256
+ ultralytics-8.3.101.dist-info/METADATA,sha256=EVOcpjnnEPv2-BHatT4b81zUD96LzVKOgkdBsKQtAc8,37380
257
+ ultralytics-8.3.101.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
258
+ ultralytics-8.3.101.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
259
+ ultralytics-8.3.101.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
260
+ ultralytics-8.3.101.dist-info/RECORD,,