ultralytics 8.3.22__py3-none-any.whl → 8.3.24__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 YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.3.22"
3
+ __version__ = "8.3.24"
4
4
 
5
5
  import os
6
6
 
@@ -809,7 +809,9 @@ def entrypoint(debug=""):
809
809
 
810
810
  # Mode
811
811
  if mode in {"predict", "track"} and "source" not in overrides:
812
- overrides["source"] = DEFAULT_CFG.source or ASSETS
812
+ overrides["source"] = (
813
+ "https://ultralytics.com/images/boats.jpg" if task == "obb" else DEFAULT_CFG.source or ASSETS
814
+ )
813
815
  LOGGER.warning(f"WARNING ⚠️ 'source' argument is missing. Using default 'source={overrides['source']}'.")
814
816
  elif mode in {"train", "val"}:
815
817
  if "data" not in overrides and "resume" not in overrides:
@@ -632,9 +632,10 @@ def yolo_bbox2segment(im_dir, save_dir=None, sam_model="sam_b.pt"):
632
632
  txt_file = save_dir / lb_name
633
633
  cls = label["cls"]
634
634
  for i, s in enumerate(label["segments"]):
635
+ if len(s) == 0:
636
+ continue
635
637
  line = (int(cls[i]), *s.reshape(-1))
636
638
  texts.append(("%g " * len(line)).rstrip() % line)
637
- if texts:
638
639
  with open(txt_file, "a") as f:
639
640
  f.writelines(text + "\n" for text in texts)
640
641
  LOGGER.info(f"Generated segment labels saved in {save_dir}")
@@ -457,6 +457,7 @@ class Exporter:
457
457
  @try_export
458
458
  def export_openvino(self, prefix=colorstr("OpenVINO:")):
459
459
  """YOLO OpenVINO export."""
460
+ # WARNING: numpy>=2.0.0 issue with OpenVINO on macOS https://github.com/ultralytics/ultralytics/pull/17221
460
461
  check_requirements(f'openvino{"<=2024.0.0" if ARM64 else ">=2024.0.0"}') # fix OpenVINO issue on ARM64
461
462
  import openvino as ov
462
463
 
@@ -478,7 +478,7 @@ class Predictor(BasePredictor):
478
478
  results = []
479
479
  for masks, orig_img, img_path in zip([pred_masks], orig_imgs, self.batch[0]):
480
480
  if len(masks) == 0:
481
- masks = None
481
+ masks, pred_bboxes = None, torch.zeros((0, 6), device=pred_masks.device)
482
482
  else:
483
483
  masks = ops.scale_masks(masks[None].float(), orig_img.shape[:2], padding=False)[0]
484
484
  masks = masks > self.model.mask_threshold # to bool
@@ -345,6 +345,7 @@ class AutoBackend(nn.Module):
345
345
  model_path=w,
346
346
  experimental_delegates=[load_delegate(delegate, options={"device": device})],
347
347
  )
348
+ device = "cpu" # Required, otherwise PyTorch will try to use the wrong device
348
349
  else: # TFLite
349
350
  LOGGER.info(f"Loading {w} for TensorFlow Lite inference...")
350
351
  interpreter = Interpreter(model_path=w) # load TFLite model
@@ -568,12 +568,16 @@ def is_kaggle():
568
568
 
569
569
  def is_jupyter():
570
570
  """
571
- Check if the current script is running inside a Jupyter Notebook. Verified on Colab, Jupyterlab, Kaggle, Paperspace.
571
+ Check if the current script is running inside a Jupyter Notebook.
572
572
 
573
573
  Returns:
574
574
  (bool): True if running inside a Jupyter Notebook, False otherwise.
575
+
576
+ Note:
577
+ - Only works on Colab and Kaggle, other environments like Jupyterlab and Paperspace are not reliably detectable.
578
+ - "get_ipython" in globals() method suffers false positives when IPython package installed manually.
575
579
  """
576
- return "get_ipython" in globals()
580
+ return IS_COLAB or IS_KAGGLE
577
581
 
578
582
 
579
583
  def is_docker() -> bool:
@@ -801,10 +805,10 @@ def get_user_config_dir(sub_dir="Ultralytics"):
801
805
  PROC_DEVICE_MODEL = read_device_model() # is_jetson() and is_raspberrypi() depend on this constant
802
806
  ONLINE = is_online()
803
807
  IS_COLAB = is_colab()
808
+ IS_KAGGLE = is_kaggle()
804
809
  IS_DOCKER = is_docker()
805
810
  IS_JETSON = is_jetson()
806
811
  IS_JUPYTER = is_jupyter()
807
- IS_KAGGLE = is_kaggle()
808
812
  IS_PIP_PACKAGE = is_pip_package()
809
813
  IS_RASPBERRYPI = is_raspberrypi()
810
814
  GIT_DIR = get_git_dir()
@@ -1195,7 +1199,7 @@ class SettingsManager(JSONDict):
1195
1199
  "neptune": True, # Neptune integration
1196
1200
  "raytune": True, # Ray Tune integration
1197
1201
  "tensorboard": True, # TensorBoard logging
1198
- "wandb": True, # Weights & Biases logging
1202
+ "wandb": False, # Weights & Biases logging
1199
1203
  "vscode_msg": True, # VSCode messaging
1200
1204
  }
1201
1205
 
@@ -335,7 +335,7 @@ def check_font(font="Arial.ttf"):
335
335
  return file
336
336
 
337
337
 
338
- def check_python(minimum: str = "3.8.0", hard: bool = True, verbose: bool = True) -> bool:
338
+ def check_python(minimum: str = "3.8.0", hard: bool = True, verbose: bool = False) -> bool:
339
339
  """
340
340
  Check current python version against the required minimum version.
341
341
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.3.22
3
+ Version: 8.3.24
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>
@@ -47,6 +47,7 @@ Requires-Dist: py-cpuinfo
47
47
  Requires-Dist: pandas>=1.1.4
48
48
  Requires-Dist: seaborn>=0.11.0
49
49
  Requires-Dist: ultralytics-thop>=2.0.0
50
+ Requires-Dist: numpy<2.0.0; sys_platform == "darwin"
50
51
  Requires-Dist: torch!=2.4.0,>=1.8.0; sys_platform == "win32"
51
52
  Provides-Extra: dev
52
53
  Requires-Dist: ipython; extra == "dev"
@@ -7,10 +7,10 @@ tests/test_exports.py,sha256=fpTKEVBUGLF3WiZPNKRs-IEcIY4cfxgvgKjUNfodjww,8042
7
7
  tests/test_integrations.py,sha256=f5-QCUk1SU_-qn4mBCZwS3GN3tXEBIIXo4z2EhExbHw,6126
8
8
  tests/test_python.py,sha256=I1RRdCwLdrc3jX06huVxct8HX8ccQOmQgVpuEflRl0U,23560
9
9
  tests/test_solutions.py,sha256=sPYhy2d814mIVvojQeVxeZPu0IVy01_Y8zuMcu_9GF0,3790
10
- ultralytics/__init__.py,sha256=q-8dr4scxdU5xwUb1Um0X1imNtfArR1Xl958Qg11XVw,681
10
+ ultralytics/__init__.py,sha256=e2H8k7jyu991EqE27QnJvrA-0fi4MKC_qARjJoT11TE,681
11
11
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
12
12
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
13
- ultralytics/cfg/__init__.py,sha256=xubvv6UXzRfPGvDyTDLRiZsaRRYXYHY9cHyClRqLNAs,32420
13
+ ultralytics/cfg/__init__.py,sha256=YXEtAr5WS3HLO90wFbyzspsaFxpBu4WJjVXWEFim-_o,32509
14
14
  ultralytics/cfg/default.yaml,sha256=ul49zgSzTegMmc8CFeu9tXkWNvQhETdZMa9EgDNSnY4,8319
15
15
  ultralytics/cfg/datasets/Argoverse.yaml,sha256=FyeuJT5CHq_9d4hlfAf0kpZlnbUMO0S--UJ1yIqcdKk,3134
16
16
  ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=QVfp_Qp-4rukuicaB4qx86NxSHM8Mrzym8l_fIDo8gw,1195
@@ -93,13 +93,13 @@ ultralytics/data/annotator.py,sha256=oy87bzQN6ZRYeucoLk8e-jDEo6YJ91FE_zMFtLEVC1I
93
93
  ultralytics/data/augment.py,sha256=YCLrwx1mRGeidggo_7GeINay8KdxACqREHJofZeaTHA,120430
94
94
  ultralytics/data/base.py,sha256=ZCIhAyFfxXVp5fVnYD8mwbksNALJTayBKIR5FKGV7ZM,15168
95
95
  ultralytics/data/build.py,sha256=AfMmz0sHIYmwry_90tEJFRk_kz0S3SolScVXqYHiT08,7261
96
- ultralytics/data/converter.py,sha256=QCtrcbNz9kid8nvHfGIWt02nH1wwMKv6HI-8s927CR8,24251
96
+ ultralytics/data/converter.py,sha256=wd1u2BPZQRAkobv8ThklpeQAfcYL2xo-i94qNJdbwBU,24286
97
97
  ultralytics/data/dataset.py,sha256=D556AW0ZEsW3V8c5zJiHM_prc_YfZqymIkDKPw3k9Io,22936
98
98
  ultralytics/data/loaders.py,sha256=Fr70Q9p9t7buLW_8R2_lI_nyCMG033gWSxvwy1M-a-U,28449
99
99
  ultralytics/data/split_dota.py,sha256=eFafJ7Vg52wj6KDCHFJAf1tKzyPD5YaPB8kM4VX5Aeg,10688
100
100
  ultralytics/data/utils.py,sha256=bmWEIrdogj4kssZQSJdSbIF8QsJU00lo-EY-Mgcqv4M,31073
101
101
  ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
102
- ultralytics/engine/exporter.py,sha256=suJeF0W14HEAbjX452btvzgGtdNy-Ay-LtUHvWV7ZZ8,58620
102
+ ultralytics/engine/exporter.py,sha256=TJsamX8n3JDFjVUiV9vmfAm-bOz09pMJnypgXYqbp5I,58735
103
103
  ultralytics/engine/model.py,sha256=pvL1uf-wwdWL8Iph7VEAYn1-z7wEHzVug21V_0_gO6M,51456
104
104
  ultralytics/engine/predictor.py,sha256=keTelEeo23Dcbs-XvmRWAPIs4pbCNDtsMBz88WM1eK8,17534
105
105
  ultralytics/engine/results.py,sha256=BxanBI8PhBCfs-9cSy-GS6naScuiD3hdvUAJWPW2mS0,75043
@@ -130,7 +130,7 @@ ultralytics/models/sam/__init__.py,sha256=o4_D6y8YJlOXIK7Lwo9RHnIJJ9xoFNi4zK99QS
130
130
  ultralytics/models/sam/amg.py,sha256=GrmO_8YfIDt_QkPEMF_WFjPZkhwhf7iwx7ig8JgOUnE,8709
131
131
  ultralytics/models/sam/build.py,sha256=ac7Pop5f51TVzGgfV6bbXSFDA9fBVxERUc_6WDQ-9Ys,12487
132
132
  ultralytics/models/sam/model.py,sha256=2KFUp8SHiqOgwUjkdqdau0oduJwKQxm4N9GHWjdhUFo,7382
133
- ultralytics/models/sam/predict.py,sha256=LSxys7fuQycrAoqf_EFohk9ftu7cq1F2GY9_fuIl5uE,40384
133
+ ultralytics/models/sam/predict.py,sha256=gmvnzRlGNnmXFh-sPJA00mlZ168k-SEYKOOPIrNgsSk,40444
134
134
  ultralytics/models/sam/modules/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
135
135
  ultralytics/models/sam/modules/blocks.py,sha256=Q-KwhFbdyZhl1tjG_kP2LcQkZbzoNt618i-NRrKNx2Y,45919
136
136
  ultralytics/models/sam/modules/decoders.py,sha256=mODsqnTN_CjE3H0Sh9cd8PfTnHANPjGB1bjqHxfezSg,25830
@@ -169,7 +169,7 @@ ultralytics/models/yolo/world/__init__.py,sha256=3VTH0q4NOt2EWRom15yCymvmvm0Etp2
169
169
  ultralytics/models/yolo/world/train.py,sha256=gaDrAmLJpg9qDtmL5evA5HsV2yb4RTRSfk2EDYrHdRg,3686
170
170
  ultralytics/models/yolo/world/train_world.py,sha256=IsnCEVt6DcM9lUskCKmIN-M8MM79xLpwTRqRoAHUnZ4,4857
171
171
  ultralytics/nn/__init__.py,sha256=4BPLHY89xEM_al5uK0aOmFgiML6CMGEZbezxOvTjOEs,587
172
- ultralytics/nn/autobackend.py,sha256=WGYfQtJ6GpbYTFSOFTpL7-bo4Z2qlr_G1xvH56LZRZU,31798
172
+ ultralytics/nn/autobackend.py,sha256=4KqKBafUP7SbsD6rtubukr2KhmYhTogLBSZtF3Hpjzc,31893
173
173
  ultralytics/nn/tasks.py,sha256=NWe0cL7A0LpsP3S1Efvi2NutAjWc_rGYMJMwAeb2bAg,48605
174
174
  ultralytics/nn/modules/__init__.py,sha256=xhW2BennT9U_VaMXVpRu-bdLgp1BXt9L8mkIUBE3idU,2625
175
175
  ultralytics/nn/modules/activation.py,sha256=chhn469wnRHEs5BMGNBYXwPYZc_7-urspTT8fnBd-xA,895
@@ -198,10 +198,10 @@ ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7J
198
198
  ultralytics/trackers/utils/gmc.py,sha256=VcURuY041qGCeWUGMxHZBr10T16LtcMqyv7AmTfE1MY,14557
199
199
  ultralytics/trackers/utils/kalman_filter.py,sha256=cH9zD3fwkuezP97H9mw8cSBN7a8hHKx_Sx1j7t3oYGs,21349
200
200
  ultralytics/trackers/utils/matching.py,sha256=3Ie1WNNRZ4_q3365F03XD7Nr9juZB_08mw4yUKC3w74,7162
201
- ultralytics/utils/__init__.py,sha256=VercNE2-EZvHkoYPxqgV17KqOHAvT4VSGEIEVKwWW-8,48874
201
+ ultralytics/utils/__init__.py,sha256=oUtiHZUVtz-KtequUv15Has85k2BHgP6c-_cAAdf-rM,49060
202
202
  ultralytics/utils/autobatch.py,sha256=BO9MCRtrLDtrDQaxqV0BdjaYsgXf-q07Y3_VdGp4URY,4330
203
203
  ultralytics/utils/benchmarks.py,sha256=R3_jtwLd48azPSXmtIhqlzduUvflk0FOY8GJOJ6mB6E,25097
204
- ultralytics/utils/checks.py,sha256=-TLfWwHvAKqUb5m-78YTIrvsplp4VjDRtCNO2JsY3y0,29799
204
+ ultralytics/utils/checks.py,sha256=cEQIYK3ZGQqcQ9uckNF-KbYdjGpfA1FHJHsUim94EoA,29800
205
205
  ultralytics/utils/dist.py,sha256=NDFga-uKxkBX2zLxFHSene_cCiGQJoyOeCXcN9JIOIk,2358
206
206
  ultralytics/utils/downloads.py,sha256=fh7I5toTSowAOXtmx5zIzCEDREfTFG45cLIHmsDmuYw,21974
207
207
  ultralytics/utils/errors.py,sha256=GqP_Jgj_n0paxn8OMhn3DTCgoNkB2WjUcUaqs-M6SQk,816
@@ -227,9 +227,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=IbGQfEltamUKXJt93uSLQFn8c2rYh3DMTg
227
227
  ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
228
228
  ultralytics/utils/callbacks/tensorboard.py,sha256=SHlE58Fb-sg-uZKtgy-ybIO3SAIfK55aj8kTYGA0Cyg,4167
229
229
  ultralytics/utils/callbacks/wb.py,sha256=oX3JarCJGhzvW556XiEXQNaZblAaK_UETAt3kzkY61w,6869
230
- ultralytics-8.3.22.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
231
- ultralytics-8.3.22.dist-info/METADATA,sha256=leASNtPRGrL_m2JyjjBYQuF5eK2e3ZYJQ1hz_whiMf4,35028
232
- ultralytics-8.3.22.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
233
- ultralytics-8.3.22.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
234
- ultralytics-8.3.22.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
235
- ultralytics-8.3.22.dist-info/RECORD,,
230
+ ultralytics-8.3.24.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
231
+ ultralytics-8.3.24.dist-info/METADATA,sha256=NkjGa5lIXR6fh71OxXnh155XCqvuZGz6qDihMM_bX4g,35081
232
+ ultralytics-8.3.24.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
233
+ ultralytics-8.3.24.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
234
+ ultralytics-8.3.24.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
235
+ ultralytics-8.3.24.dist-info/RECORD,,