ultralytics 8.3.76__py3-none-any.whl → 8.3.77__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.76"
3
+ __version__ = "8.3.77"
4
4
 
5
5
  import os
6
6
 
ultralytics/nn/tasks.py CHANGED
@@ -7,7 +7,6 @@ import types
7
7
  from copy import deepcopy
8
8
  from pathlib import Path
9
9
 
10
- import thop
11
10
  import torch
12
11
 
13
12
  from ultralytics.nn.modules import (
@@ -86,6 +85,11 @@ from ultralytics.utils.torch_utils import (
86
85
  time_sync,
87
86
  )
88
87
 
88
+ try:
89
+ import thop
90
+ except ImportError:
91
+ thop = None # conda support without 'ultralytics-thop' installed
92
+
89
93
 
90
94
  class BaseModel(torch.nn.Module):
91
95
  """The BaseModel class serves as a base class for all the models in the Ultralytics YOLO family."""
@@ -12,7 +12,6 @@ from pathlib import Path
12
12
  from typing import Union
13
13
 
14
14
  import numpy as np
15
- import thop
16
15
  import torch
17
16
  import torch.distributed as dist
18
17
  import torch.nn as nn
@@ -31,6 +30,11 @@ from ultralytics.utils import (
31
30
  )
32
31
  from ultralytics.utils.checks import check_version
33
32
 
33
+ try:
34
+ import thop
35
+ except ImportError:
36
+ thop = None # conda support without 'ultralytics-thop' installed
37
+
34
38
  # Version checks (all default to version>=min_version)
35
39
  TORCH_1_9 = check_version(torch.__version__, "1.9.0")
36
40
  TORCH_1_13 = check_version(torch.__version__, "1.13.0")
@@ -370,6 +374,9 @@ def model_info_for_loggers(trainer):
370
374
 
371
375
  def get_flops(model, imgsz=640):
372
376
  """Return a YOLO model's FLOPs."""
377
+ if not thop:
378
+ return 0.0 # if not installed return 0.0 GFLOPs
379
+
373
380
  try:
374
381
  model = de_parallel(model)
375
382
  p = next(model.parameters())
@@ -681,7 +688,7 @@ def profile(input, ops, n=10, device=None, max_num_obj=0):
681
688
  m = m.half() if hasattr(m, "half") and isinstance(x, torch.Tensor) and x.dtype is torch.float16 else m
682
689
  tf, tb, t = 0, 0, [0, 0, 0] # dt forward, backward
683
690
  try:
684
- flops = thop.profile(deepcopy(m), inputs=[x], verbose=False)[0] / 1e9 * 2 # GFLOPs
691
+ flops = thop.profile(deepcopy(m), inputs=[x], verbose=False)[0] / 1e9 * 2 if thop else 0 # GFLOPs
685
692
  except Exception:
686
693
  flops = 0
687
694
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.76
3
+ Version: 8.3.77
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=T_z_NUS9URQXv83k5XNLHTuksJ8srtzbZnWuiiQWM98,9260
7
7
  tests/test_integrations.py,sha256=p3DMnnPMKsV0Qm82JVJUIY1UZ67xRgF9E8AaL76TEHE,6154
8
8
  tests/test_python.py,sha256=tW-EFJC2rjl_DvAa8khXGWYdypseQjrLjGHhe2p9r9A,23238
9
9
  tests/test_solutions.py,sha256=aY0G3vNzXGCENG9FD76MfUp7jgzeESPsUvbvQYBUvH0,4205
10
- ultralytics/__init__.py,sha256=EJlzPDNmMx9lP1HbgFSshFYdnHAVry65hDNaGnuXWqU,709
10
+ ultralytics/__init__.py,sha256=HQtHuvQM5kuWiBsRP3s4mhhbcYU2HsTkCBcXce66zkY,709
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=qP44HnFP4QcC5FQz29A-EGTuwdtxXAzPvw_IvCVmiqA,39771
@@ -173,7 +173,7 @@ ultralytics/models/yolo/world/train.py,sha256=6PVmQ0G-22OOPPwP_rqSobe2LM6e2b_lC7
173
173
  ultralytics/models/yolo/world/train_world.py,sha256=sCtg4Hnq9Y7amYjlQsdvTHXH8cKSooipvcXu_1Iyb2k,4885
174
174
  ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
175
175
  ultralytics/nn/autobackend.py,sha256=Sixewlem0qeGCD18Zihli1H25j1q71957L33kpVfrVE,37365
176
- ultralytics/nn/tasks.py,sha256=Ckg6qFHZiJjRfYimV_F6cdC0nbKmbzu-E890lWMuyBA,48696
176
+ ultralytics/nn/tasks.py,sha256=VxtdV1OVpIatZBHmHgIRHuJ9FY4sLAN96VSKeeOhNg8,48796
177
177
  ultralytics/nn/modules/__init__.py,sha256=02dPoAMtpPNQdHXHmvJeWZvJ_WG6eqwH8atLdFWgcuY,2713
178
178
  ultralytics/nn/modules/activation.py,sha256=oRkhMdqlNpIxQb35pTSUeHV-h0VyLl96GOqvIZ4OvT8,923
179
179
  ultralytics/nn/modules/block.py,sha256=vQqfKIXPmEnxupdzcLDGC5FkjCNIqURfqt4CEEseuXE,43940
@@ -219,7 +219,7 @@ ultralytics/utils/ops.py,sha256=izQr5GvgzmaD-GXaqxIjLE525JnvgLetOtuq_EOaxM8,3458
219
219
  ultralytics/utils/patches.py,sha256=ARR89dP4YKq7Dd3g2eU-ukbnc2lo3BELukL_1c_d854,3298
220
220
  ultralytics/utils/plotting.py,sha256=hKji4TyxAmCXdSL264VX6dsC2AZYiL9StShI02dcAOM,62990
221
221
  ultralytics/utils/tal.py,sha256=DO-c006HEI62pcrNRpmt4lpqJPC5yu3veRDOvUuExno,18498
222
- ultralytics/utils/torch_utils.py,sha256=Q7B84IsAs29pehadJJ25jQOxuCTGVMj1x8TJNYLsijs,33878
222
+ ultralytics/utils/torch_utils.py,sha256=wmV-mlv-vQzAwk66TILC_nEFhlGx5udrGlQqTenqnBw,34068
223
223
  ultralytics/utils/triton.py,sha256=2L1_rZ8xCJEjexRVj75g9YU-u4tQln_DJ5N1Yr_0bSs,4071
224
224
  ultralytics/utils/tuner.py,sha256=gySDBzTlq_klTOq6CGEyUN58HXzPCulObaMBHacXzHo,6294
225
225
  ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
@@ -233,9 +233,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=waZ_bRu0-qBKujTLuqonC2gx2DkgBuVnfq
233
233
  ultralytics/utils/callbacks/raytune.py,sha256=A_NVWjyPNf2m6iB-mbW7SMpyqM9QBvpbPa-MCMFMtdk,727
234
234
  ultralytics/utils/callbacks/tensorboard.py,sha256=JHOEVlNQ5dYJPd4Z-EvqbXowuK5uA0p8wPgyyaIUQs0,4194
235
235
  ultralytics/utils/callbacks/wb.py,sha256=ayhT2y62AcSOacnawshATU0rWrlSFQ77mrGgBdRl3W4,7086
236
- ultralytics-8.3.76.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
237
- ultralytics-8.3.76.dist-info/METADATA,sha256=8w-KvGSLIOXISAZ524SnU3jgFOca5sxJY9NGByF7T-0,35158
238
- ultralytics-8.3.76.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
239
- ultralytics-8.3.76.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
240
- ultralytics-8.3.76.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
241
- ultralytics-8.3.76.dist-info/RECORD,,
236
+ ultralytics-8.3.77.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
237
+ ultralytics-8.3.77.dist-info/METADATA,sha256=QxzCR22FPcNMdABaAuLci--YfzTs5Y_7Nz-2vywjMfE,35158
238
+ ultralytics-8.3.77.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
239
+ ultralytics-8.3.77.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
240
+ ultralytics-8.3.77.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
241
+ ultralytics-8.3.77.dist-info/RECORD,,