ultralytics 8.3.157__py3-none-any.whl → 8.3.158__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.157"
3
+ __version__ = "8.3.158"
4
4
 
5
5
  import os
6
6
 
@@ -2928,7 +2928,7 @@ class ToTensor:
2928
2928
  the color channels are reversed from BGR to RGB.
2929
2929
 
2930
2930
  Args:
2931
- im (numpy.ndarray): Input image as a numpy array with shape (H, W, C) in BGR order.
2931
+ im (numpy.ndarray): Input image as a numpy array with shape (H, W, C) in RGB order.
2932
2932
 
2933
2933
  Returns:
2934
2934
  (torch.Tensor): The transformed image as a PyTorch tensor in float32 or float16, normalized
@@ -2941,7 +2941,7 @@ class ToTensor:
2941
2941
  >>> print(tensor_img.shape, tensor_img.dtype)
2942
2942
  torch.Size([3, 640, 640]) torch.float16
2943
2943
  """
2944
- im = np.ascontiguousarray(im.transpose((2, 0, 1))[::-1]) # HWC to CHW -> BGR to RGB -> contiguous
2944
+ im = np.ascontiguousarray(im.transpose((2, 0, 1))) # HWC to CHW -> contiguous
2945
2945
  im = torch.from_numpy(im) # to torch
2946
2946
  im = im.half() if self.half else im.float() # uint8 to fp16/32
2947
2947
  im /= 255.0 # 0-255 to 0.0-1.0
@@ -19,7 +19,6 @@ class ClassificationPredictor(BasePredictor):
19
19
 
20
20
  Attributes:
21
21
  args (dict): Configuration arguments for the predictor.
22
- _legacy_transform_name (str): Name of the legacy transform class for backward compatibility.
23
22
 
24
23
  Methods:
25
24
  preprocess: Convert input images to model-compatible format.
@@ -50,7 +49,6 @@ class ClassificationPredictor(BasePredictor):
50
49
  """
51
50
  super().__init__(cfg, overrides, _callbacks)
52
51
  self.args.task = "classify"
53
- self._legacy_transform_name = "ultralytics.yolo.data.augment.ToTensor"
54
52
 
55
53
  def setup_source(self, source):
56
54
  """Set up source and inference mode and classify transforms."""
@@ -58,22 +56,18 @@ class ClassificationPredictor(BasePredictor):
58
56
  updated = (
59
57
  self.model.model.transforms.transforms[0].size != max(self.imgsz)
60
58
  if hasattr(self.model.model, "transforms") and hasattr(self.model.model.transforms.transforms[0], "size")
61
- else True
59
+ else False
60
+ )
61
+ self.transforms = (
62
+ classify_transforms(self.imgsz) if updated or not self.model.pt else self.model.model.transforms
62
63
  )
63
- self.transforms = self.model.model.transforms if not updated else classify_transforms(self.imgsz)
64
64
 
65
65
  def preprocess(self, img):
66
66
  """Convert input images to model-compatible tensor format with appropriate normalization."""
67
67
  if not isinstance(img, torch.Tensor):
68
- is_legacy_transform = any(
69
- self._legacy_transform_name in str(transform) for transform in self.transforms.transforms
68
+ img = torch.stack(
69
+ [self.transforms(Image.fromarray(cv2.cvtColor(im, cv2.COLOR_BGR2RGB))) for im in img], dim=0
70
70
  )
71
- if is_legacy_transform: # Handle legacy transforms
72
- img = torch.stack([self.transforms(im) for im in img], dim=0)
73
- else:
74
- img = torch.stack(
75
- [self.transforms(Image.fromarray(cv2.cvtColor(im, cv2.COLOR_BGR2RGB))) for im in img], dim=0
76
- )
77
71
  img = (img if isinstance(img, torch.Tensor) else torch.from_numpy(img)).to(self.model.device)
78
72
  return img.half() if self.model.fp16 else img.float() # Convert uint8 to fp16/32
79
73
 
@@ -4,12 +4,15 @@ import io
4
4
  from typing import Any, List
5
5
 
6
6
  import cv2
7
+ import torch
7
8
 
8
9
  from ultralytics import YOLO
9
10
  from ultralytics.utils import LOGGER
10
11
  from ultralytics.utils.checks import check_requirements
11
12
  from ultralytics.utils.downloads import GITHUB_ASSETS_STEMS
12
13
 
14
+ torch.classes.__path__ = [] # Torch module __path__._path issue: https://github.com/datalab-to/marker/issues/442
15
+
13
16
 
14
17
  class Inference:
15
18
  """
@@ -133,7 +136,15 @@ class Inference:
133
136
  def configure(self) -> None:
134
137
  """Configure the model and load selected classes for inference."""
135
138
  # Add dropdown menu for model selection
136
- available_models = [x.replace("yolo", "YOLO") for x in GITHUB_ASSETS_STEMS if x.startswith("yolo11")]
139
+ M_ORD, T_ORD = ["yolo11n", "yolo11s", "yolo11m", "yolo11l", "yolo11x"], ["", "-seg", "-pose", "-obb", "-cls"]
140
+ available_models = sorted(
141
+ [
142
+ x.replace("yolo", "YOLO")
143
+ for x in GITHUB_ASSETS_STEMS
144
+ if any(x.startswith(b) for b in M_ORD) and "grayscale" not in x
145
+ ],
146
+ key=lambda x: (M_ORD.index(x[:7].lower()), T_ORD.index(x[7:].lower() or "")),
147
+ )
137
148
  if self.model_path: # If user provided the custom model, insert model without suffix as *.pt is added later
138
149
  available_models.insert(0, self.model_path.split(".pt", 1)[0])
139
150
  selected_model = self.st.sidebar.selectbox("Model", available_models)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.157
3
+ Version: 8.3.158
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=HmMKOTCia9ZDC0VYc_EPmvBTM5LM5eeI1NF_pKjLpd8,9677
7
7
  tests/test_integrations.py,sha256=kl_AKmE_Qs1GB0_91iVwbzNxofm_hFTt0zzU6JF-pg4,6323
8
8
  tests/test_python.py,sha256=nOoaPDg-0j7ZPRz9-uGFny3uocxjUM1ze5wA3BpGxKQ,27865
9
9
  tests/test_solutions.py,sha256=tuf6n_fsI8KvSdJrnc-cqP2qYdiYqCWuVrx0z9dOz3Q,13213
10
- ultralytics/__init__.py,sha256=2mwBem7xtvNmrW5pBkCtYV3rgq4UvYlvOHu6FkTIDKs,730
10
+ ultralytics/__init__.py,sha256=0b-cONYmF0_ugWTEs5ezNxpY9ZNX35E547GfOVhJ9hI,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=ds63URbbeRj5UxkCSyl62OrNw6HQy7xeit5-0wGDEKg,39699
@@ -105,7 +105,7 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=TpRaK5kH_-QbjCQ7ekM4s_7j8I8ti3q8Hs7
105
105
  ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
106
106
  ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
107
107
  ultralytics/data/annotator.py,sha256=uAgd7K-yudxiwdNqHz0ubfFg5JsfNlae4cgxdvCMyuY,3030
108
- ultralytics/data/augment.py,sha256=yAUn0P7z9dQ37DwoIXF6Tz2PvTxxHMMj54311mOSWP8,129050
108
+ ultralytics/data/augment.py,sha256=Zxqp6dWKALAbUYha-R_MVrcysdlBj9glm4Nsth_JLrg,129030
109
109
  ultralytics/data/base.py,sha256=mRcuehK1thNuuzQGL6D1AaZkod71oHRdYTod_zdQZQg,19688
110
110
  ultralytics/data/build.py,sha256=13gPxCJIZRjgcNh7zbzanCgtyK6_oZM0ho9KQhHcM6c,11153
111
111
  ultralytics/data/converter.py,sha256=oKW8ODtvFOKBx9Un8n87xUUm3b5GStU4ViIBH5UDylM,27200
@@ -166,7 +166,7 @@ ultralytics/models/utils/ops.py,sha256=Pr77n8XW25SUEx4X3bBvXcVIbRdJPoaXJuG0KWWaw
166
166
  ultralytics/models/yolo/__init__.py,sha256=or0j5xvcM0usMlsFTYhNAOcQUri7reD0cD9JR5b7zDk,307
167
167
  ultralytics/models/yolo/model.py,sha256=C0wInQC6rFuFOGpdAen1s2e5LIFDmqevto8uPbpmB8c,18449
168
168
  ultralytics/models/yolo/classify/__init__.py,sha256=9--HVaNOfI1K7rn_rRqclL8FUAnpfeBrRqEQIaQw2xM,383
169
- ultralytics/models/yolo/classify/predict.py,sha256=_GiN6muuZOBrMS1KER85FE4ktcw_Onn1bZdGvpbsGCE,4618
169
+ ultralytics/models/yolo/classify/predict.py,sha256=FqAC2YXe25bRwedMZhF3Lw0waoY-a60xMKELhxApP9I,4149
170
170
  ultralytics/models/yolo/classify/train.py,sha256=V-hevc6X7xemnpyru84OfTRA77eNnkVSMEz16_OUvo4,10244
171
171
  ultralytics/models/yolo/classify/val.py,sha256=YakPxBVZCd85Kp4wFKx8KH6JJFiU7nkFS3r9_ZSwFRM,10036
172
172
  ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
@@ -221,7 +221,7 @@ ultralytics/solutions/security_alarm.py,sha256=U6FTbg3cthKLfWeLunsFhOJvB6GGmwYDD
221
221
  ultralytics/solutions/similarity_search.py,sha256=Tx5R_IVzQjUVLrraS0oJkoJLkx8dJCyaf_Nwbu_4yyo,9982
222
222
  ultralytics/solutions/solutions.py,sha256=N5t1DgZpuFBbDvLVZ7wRkafmgu8SS1VC9VNjuupglwQ,37532
223
223
  ultralytics/solutions/speed_estimation.py,sha256=chg_tBuKFw3EnFiv_obNDaUXLAo-FypxC7gsDeB_VUI,5878
224
- ultralytics/solutions/streamlit_inference.py,sha256=lqHh0UDCVmWIeh3yzpvoV7j9K6Ipx7pJBkOsb0ZpZes,10034
224
+ ultralytics/solutions/streamlit_inference.py,sha256=SqL-YxU3RCxCKscH2AYUTkmJknilV9jCCco6ufqsFk4,10501
225
225
  ultralytics/solutions/trackzone.py,sha256=kIS94rNfL3yVPAtSbnW8F-aLMxXowQtsfKNB-jLezz8,3941
226
226
  ultralytics/solutions/vision_eye.py,sha256=nlIdXhfM5EwJh4vqVhz3AEOoHXIELMo1OG8Cr1tMQRw,3008
227
227
  ultralytics/solutions/templates/similarity-search.html,sha256=vdz9XCH6VHbksvSW_sSg6Z2xVp82_EanaS_rY7xjZBE,4743
@@ -265,9 +265,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=j8pecmlcsM8FGzLKWoBw5xUsi5t8E5HuxY
265
265
  ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
266
266
  ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
267
267
  ultralytics/utils/callbacks/wb.py,sha256=Tm_-aRr2CN32MJkY9tylpMBJkb007-MSRNSQ7rDJ5QU,7521
268
- ultralytics-8.3.157.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
269
- ultralytics-8.3.157.dist-info/METADATA,sha256=vZ9QsDSUEX148oGlo6qNsbooXGnT_pK-mlPBdc0k-L4,37212
270
- ultralytics-8.3.157.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
271
- ultralytics-8.3.157.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
272
- ultralytics-8.3.157.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
273
- ultralytics-8.3.157.dist-info/RECORD,,
268
+ ultralytics-8.3.158.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
269
+ ultralytics-8.3.158.dist-info/METADATA,sha256=4ft6aa6XsHRAiDNP3tEnMNbqz6XEQx85WoKBViClG6M,37212
270
+ ultralytics-8.3.158.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
271
+ ultralytics-8.3.158.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
272
+ ultralytics-8.3.158.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
273
+ ultralytics-8.3.158.dist-info/RECORD,,