ultralytics-thop 2.0.15__py3-none-any.whl → 2.0.16__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.
- thop/__init__.py +1 -1
- thop/profile.py +3 -3
- thop/vision/basic_hooks.py +15 -0
- thop/vision/calc_func.py +9 -4
- {ultralytics_thop-2.0.15.dist-info → ultralytics_thop-2.0.16.dist-info}/METADATA +1 -1
- ultralytics_thop-2.0.16.dist-info/RECORD +13 -0
- ultralytics_thop-2.0.15.dist-info/RECORD +0 -13
- {ultralytics_thop-2.0.15.dist-info → ultralytics_thop-2.0.16.dist-info}/WHEEL +0 -0
- {ultralytics_thop-2.0.15.dist-info → ultralytics_thop-2.0.16.dist-info}/licenses/LICENSE +0 -0
- {ultralytics_thop-2.0.15.dist-info → ultralytics_thop-2.0.16.dist-info}/top_level.txt +0 -0
thop/__init__.py
CHANGED
thop/profile.py
CHANGED
@@ -12,9 +12,9 @@ register_hooks = {
|
|
12
12
|
nn.Conv1d: count_convNd,
|
13
13
|
nn.Conv2d: count_convNd,
|
14
14
|
nn.Conv3d: count_convNd,
|
15
|
-
nn.ConvTranspose1d:
|
16
|
-
nn.ConvTranspose2d:
|
17
|
-
nn.ConvTranspose3d:
|
15
|
+
nn.ConvTranspose1d: count_convtNd,
|
16
|
+
nn.ConvTranspose2d: count_convtNd,
|
17
|
+
nn.ConvTranspose3d: count_convtNd,
|
18
18
|
nn.BatchNorm1d: count_normalization,
|
19
19
|
nn.BatchNorm2d: count_normalization,
|
20
20
|
nn.BatchNorm3d: count_normalization,
|
thop/vision/basic_hooks.py
CHANGED
@@ -30,6 +30,7 @@ def count_convNd(m: _ConvNd, x, y: torch.Tensor):
|
|
30
30
|
kernel_size=list(m.weight.shape),
|
31
31
|
groups=m.groups,
|
32
32
|
bias=m.bias,
|
33
|
+
transpose=False,
|
33
34
|
)
|
34
35
|
# N x Cout x H x W x (Cin x Kw x Kh + bias)
|
35
36
|
# m.total_ops += calculate_conv(
|
@@ -41,6 +42,20 @@ def count_convNd(m: _ConvNd, x, y: torch.Tensor):
|
|
41
42
|
# )
|
42
43
|
|
43
44
|
|
45
|
+
def count_convtNd(m: _ConvNd, x, y: torch.Tensor):
|
46
|
+
"""Calculate and add the number of convolutional operations (FLOPs) for a ConvNd layer to the model's total ops."""
|
47
|
+
x = x[0]
|
48
|
+
|
49
|
+
m.total_ops += calculate_conv2d_flops(
|
50
|
+
input_size=list(x.shape),
|
51
|
+
output_size=list(y.shape),
|
52
|
+
kernel_size=list(m.weight.shape),
|
53
|
+
groups=m.groups,
|
54
|
+
bias=m.bias,
|
55
|
+
transpose=True,
|
56
|
+
)
|
57
|
+
|
58
|
+
|
44
59
|
def count_convNd_ver2(m: _ConvNd, x, y: torch.Tensor):
|
45
60
|
"""Calculates and updates total operations (FLOPs) for a convolutional layer in a PyTorch model."""
|
46
61
|
x = x[0]
|
thop/vision/calc_func.py
CHANGED
@@ -29,13 +29,18 @@ def calculate_zero_ops():
|
|
29
29
|
return torch.DoubleTensor([0])
|
30
30
|
|
31
31
|
|
32
|
-
def calculate_conv2d_flops(
|
32
|
+
def calculate_conv2d_flops(
|
33
|
+
input_size: list, output_size: list, kernel_size: list, groups: int, bias: bool = False, transpose: bool = False
|
34
|
+
):
|
33
35
|
"""Calculate FLOPs for a Conv2D layer using input/output sizes, kernel size, groups, and the bias flag."""
|
34
36
|
# n, in_c, ih, iw = input_size
|
35
37
|
# out_c, in_c, kh, kw = kernel_size
|
36
|
-
|
37
|
-
|
38
|
-
|
38
|
+
if transpose:
|
39
|
+
out_c = output_size[1]
|
40
|
+
return l_prod(input_size) * (out_c // groups) * l_prod(kernel_size[2:])
|
41
|
+
else:
|
42
|
+
in_c = input_size[1]
|
43
|
+
return l_prod(output_size) * (in_c // groups) * l_prod(kernel_size[2:])
|
39
44
|
|
40
45
|
|
41
46
|
def calculate_conv(bias, kernel_size, output_size, in_channel, group):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics-thop
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.16
|
4
4
|
Summary: Ultralytics THOP package for fast computation of PyTorch model FLOPs and parameters.
|
5
5
|
Author-email: Ligeng Zhu <ligeng.zhu+github@gmail.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
thop/__init__.py,sha256=uIP-Z82T22WjV4ZABASgzJpdE7KrxsGHmoAMbe9Dv1Y,219
|
2
|
+
thop/fx_profile.py,sha256=ACI2RLyDYBLB7Cru9y2IAx_YCFX_uhYEArDR0np_tFc,8231
|
3
|
+
thop/profile.py,sha256=CsS9mFIW3VWUA15pHQbGDZX-N624u10LZs5FtJOW_Fg,7983
|
4
|
+
thop/rnn_hooks.py,sha256=JKZ2eSCvIKvhvCDqM4oWPZjmBkdyJ4R2Q7XSn63lsX0,6503
|
5
|
+
thop/utils.py,sha256=IwFJQ1v-SLyhm-313Li535R6fhtomkm8Fem1Kfe6G_U,1484
|
6
|
+
thop/vision/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
7
|
+
thop/vision/basic_hooks.py,sha256=jrq6HQtyMjO0PouGxiUZEehMVTozlUvslqMyOdoBcnQ,5156
|
8
|
+
thop/vision/calc_func.py,sha256=2-LcoFg8ODy8EMb-xEsgLVPigLTki3dXnAg58dxVq80,4530
|
9
|
+
ultralytics_thop-2.0.16.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
10
|
+
ultralytics_thop-2.0.16.dist-info/METADATA,sha256=EWJhKFCiDgN0tuXepxy0mF9Z_bxbzOYGYzddFWxqK_k,14922
|
11
|
+
ultralytics_thop-2.0.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
12
|
+
ultralytics_thop-2.0.16.dist-info/top_level.txt,sha256=HQ7D0gSvDJ31CNR-f0EuXNVve05RYBmwyIkHQKiEhU8,5
|
13
|
+
ultralytics_thop-2.0.16.dist-info/RECORD,,
|
@@ -1,13 +0,0 @@
|
|
1
|
-
thop/__init__.py,sha256=mEWL6Ykse9frz8z9HIb5QWmXY9QpDL41UP2yStOsVaM,219
|
2
|
-
thop/fx_profile.py,sha256=ACI2RLyDYBLB7Cru9y2IAx_YCFX_uhYEArDR0np_tFc,8231
|
3
|
-
thop/profile.py,sha256=VaCR0K2oWTHp0y-W3SbuA4TdnyxTP6n6VSURltJGzrE,7980
|
4
|
-
thop/rnn_hooks.py,sha256=JKZ2eSCvIKvhvCDqM4oWPZjmBkdyJ4R2Q7XSn63lsX0,6503
|
5
|
-
thop/utils.py,sha256=IwFJQ1v-SLyhm-313Li535R6fhtomkm8Fem1Kfe6G_U,1484
|
6
|
-
thop/vision/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
7
|
-
thop/vision/basic_hooks.py,sha256=UKMHbH-dP2wx0LCaWVMHtS9o5hJsClmFQrJrPFm0uxY,4714
|
8
|
-
thop/vision/calc_func.py,sha256=s-_tRmimNBl4PYY_WQHb3C1H4nLy-oEW2kvsZDVjvdI,4362
|
9
|
-
ultralytics_thop-2.0.15.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
10
|
-
ultralytics_thop-2.0.15.dist-info/METADATA,sha256=8pRLCm325cTHHSpygLu0DlmP8XR9rQR-qwytLJ4PYTw,14922
|
11
|
-
ultralytics_thop-2.0.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
12
|
-
ultralytics_thop-2.0.15.dist-info/top_level.txt,sha256=HQ7D0gSvDJ31CNR-f0EuXNVve05RYBmwyIkHQKiEhU8,5
|
13
|
-
ultralytics_thop-2.0.15.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|