ultralytics-thop 0.2.7__py3-none-any.whl → 0.2.8__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/fx_profile.py +2 -4
 - thop/vision/basic_hooks.py +1 -3
 - {ultralytics_thop-0.2.7.dist-info → ultralytics_thop-0.2.8.dist-info}/METADATA +7 -3
 - ultralytics_thop-0.2.8.dist-info/RECORD +13 -0
 - ultralytics_thop-0.2.7.dist-info/RECORD +0 -13
 - {ultralytics_thop-0.2.7.dist-info → ultralytics_thop-0.2.8.dist-info}/LICENSE +0 -0
 - {ultralytics_thop-0.2.7.dist-info → ultralytics_thop-0.2.8.dist-info}/WHEEL +0 -0
 - {ultralytics_thop-0.2.7.dist-info → ultralytics_thop-0.2.8.dist-info}/top_level.txt +0 -0
 
    
        thop/__init__.py
    CHANGED
    
    
    
        thop/fx_profile.py
    CHANGED
    
    | 
         @@ -148,7 +148,6 @@ def fx_profile(mod: nn.Module, input: th.Tensor, verbose=False): 
     | 
|
| 
       148 
148 
     | 
    
         
             
                    node_flops = None
         
     | 
| 
       149 
149 
     | 
    
         | 
| 
       150 
150 
     | 
    
         
             
                    input_shapes = []
         
     | 
| 
       151 
     | 
    
         
            -
                    output_shapes = []
         
     | 
| 
       152 
151 
     | 
    
         
             
                    fprint("input_shape:", end="\t")
         
     | 
| 
       153 
152 
     | 
    
         
             
                    for arg in node.args:
         
     | 
| 
       154 
153 
     | 
    
         
             
                        if str(arg) not in v_maps:
         
     | 
| 
         @@ -157,8 +156,7 @@ def fx_profile(mod: nn.Module, input: th.Tensor, verbose=False): 
     | 
|
| 
       157 
156 
     | 
    
         
             
                        input_shapes.append(v_maps[str(arg)])
         
     | 
| 
       158 
157 
     | 
    
         
             
                    fprint()
         
     | 
| 
       159 
158 
     | 
    
         
             
                    fprint(f"output_shape:\t{node.meta['tensor_meta'].shape}")
         
     | 
| 
       160 
     | 
    
         
            -
                    output_shapes 
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
      
 159 
     | 
    
         
            +
                    output_shapes = [node.meta["tensor_meta"].shape]
         
     | 
| 
       162 
160 
     | 
    
         
             
                    if node.op in ["output", "placeholder"]:
         
     | 
| 
       163 
161 
     | 
    
         
             
                        node_flops = 0
         
     | 
| 
       164 
162 
     | 
    
         
             
                    elif node.op == "call_function":
         
     | 
| 
         @@ -194,7 +192,7 @@ def fx_profile(mod: nn.Module, input: th.Tensor, verbose=False): 
     | 
|
| 
       194 
192 
     | 
    
         
             
                            print("weight_shape: None")
         
     | 
| 
       195 
193 
     | 
    
         
             
                        else:
         
     | 
| 
       196 
194 
     | 
    
         
             
                            print(type(m))
         
     | 
| 
       197 
     | 
    
         
            -
                            print(f"weight_shape: {mod.state_dict()[node.target 
     | 
| 
      
 195 
     | 
    
         
            +
                            print(f"weight_shape: {mod.state_dict()[f'{node.target}.weight'].shape}")
         
     | 
| 
       198 
196 
     | 
    
         | 
| 
       199 
197 
     | 
    
         
             
                    v_maps[str(node.name)] = node.meta["tensor_meta"].shape
         
     | 
| 
       200 
198 
     | 
    
         
             
                    if node_flops is not None:
         
     | 
    
        thop/vision/basic_hooks.py
    CHANGED
    
    | 
         @@ -10,9 +10,7 @@ multiply_adds = 1 
     | 
|
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            def count_parameters(m, x, y):
         
     | 
| 
       12 
12 
     | 
    
         
             
                """Calculate and update the total number of parameters in a given PyTorch model."""
         
     | 
| 
       13 
     | 
    
         
            -
                total_params =  
     | 
| 
       14 
     | 
    
         
            -
                for p in m.parameters():
         
     | 
| 
       15 
     | 
    
         
            -
                    total_params += torch.DoubleTensor([p.numel()])
         
     | 
| 
      
 13 
     | 
    
         
            +
                total_params = sum(torch.DoubleTensor([p.numel()]) for p in m.parameters())
         
     | 
| 
       16 
14 
     | 
    
         
             
                m.total_params[0] = calculate_parameters(m.parameters())
         
     | 
| 
       17 
15 
     | 
    
         | 
| 
       18 
16 
     | 
    
         | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Metadata-Version: 2.1
         
     | 
| 
       2 
2 
     | 
    
         
             
            Name: ultralytics-thop
         
     | 
| 
       3 
     | 
    
         
            -
            Version: 0.2. 
     | 
| 
      
 3 
     | 
    
         
            +
            Version: 0.2.8
         
     | 
| 
       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: Glenn Jocher
         
     | 
| 
         @@ -74,7 +74,7 @@ import torch 
     | 
|
| 
       74 
74 
     | 
    
         | 
| 
       75 
75 
     | 
    
         
             
            model = resnet50()
         
     | 
| 
       76 
76 
     | 
    
         
             
            input = torch.randn(1, 3, 224, 224)
         
     | 
| 
       77 
     | 
    
         
            -
            macs, params = profile(model, inputs=(input, 
     | 
| 
      
 77 
     | 
    
         
            +
            macs, params = profile(model, inputs=(input,))
         
     | 
| 
       78 
78 
     | 
    
         
             
            ```
         
     | 
| 
       79 
79 
     | 
    
         | 
| 
       80 
80 
     | 
    
         
             
            ### Define Custom Rules for Third-Party Modules
         
     | 
| 
         @@ -84,16 +84,19 @@ You can define custom rules for unsupported modules: 
     | 
|
| 
       84 
84 
     | 
    
         
             
            ```python
         
     | 
| 
       85 
85 
     | 
    
         
             
            import torch.nn as nn
         
     | 
| 
       86 
86 
     | 
    
         | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
       87 
88 
     | 
    
         
             
            class YourModule(nn.Module):
         
     | 
| 
       88 
89 
     | 
    
         
             
                # your definition
         
     | 
| 
       89 
90 
     | 
    
         
             
                pass
         
     | 
| 
       90 
91 
     | 
    
         | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
       91 
93 
     | 
    
         
             
            def count_your_model(model, x, y):
         
     | 
| 
       92 
94 
     | 
    
         
             
                # your rule here
         
     | 
| 
       93 
95 
     | 
    
         
             
                pass
         
     | 
| 
       94 
96 
     | 
    
         | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
       95 
98 
     | 
    
         
             
            input = torch.randn(1, 3, 224, 224)
         
     | 
| 
       96 
     | 
    
         
            -
            macs, params = profile(model, inputs=(input, 
     | 
| 
      
 99 
     | 
    
         
            +
            macs, params = profile(model, inputs=(input,), custom_ops={YourModule: count_your_model})
         
     | 
| 
       97 
100 
     | 
    
         
             
            ```
         
     | 
| 
       98 
101 
     | 
    
         | 
| 
       99 
102 
     | 
    
         
             
            ### Improve Output Readability
         
     | 
| 
         @@ -102,6 +105,7 @@ Use `thop.clever_format` for a more readable output: 
     | 
|
| 
       102 
105 
     | 
    
         | 
| 
       103 
106 
     | 
    
         
             
            ```python
         
     | 
| 
       104 
107 
     | 
    
         
             
            from thop import clever_format
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
       105 
109 
     | 
    
         
             
            macs, params = clever_format([macs, params], "%.3f")
         
     | 
| 
       106 
110 
     | 
    
         
             
            ```
         
     | 
| 
       107 
111 
     | 
    
         | 
| 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            thop/__init__.py,sha256=nRitFGQJlu5vCs1JrMHYbmf8_rIcIfJ6ujcV9--_dOM,146
         
     | 
| 
      
 2 
     | 
    
         
            +
            thop/fx_profile.py,sha256=DSC3phrsDj08tey_OYVeiL6A8q3BE1er2YjH8W60VrM,8238
         
     | 
| 
      
 3 
     | 
    
         
            +
            thop/profile.py,sha256=z89mX1zVr_42axKbhgz9k2MJbgBLaBPt30lYT_PcWuA,7848
         
     | 
| 
      
 4 
     | 
    
         
            +
            thop/rnn_hooks.py,sha256=GYuKaNPEdZzTuqNCrJpTBjeQHsWs65UXCCaViS2giik,6485
         
     | 
| 
      
 5 
     | 
    
         
            +
            thop/utils.py,sha256=V_Pj_qC6RjqMyuiSX05eeUujT07hZQV-xobCIabjDds,1422
         
     | 
| 
      
 6 
     | 
    
         
            +
            thop/vision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
      
 7 
     | 
    
         
            +
            thop/vision/basic_hooks.py,sha256=i_CSCC0o5olEbK2hOirehDKfD8ae19IjCkyHk0Zr4ko,4839
         
     | 
| 
      
 8 
     | 
    
         
            +
            thop/vision/calc_func.py,sha256=RE-qQWGjZIlRx8CNKjF-ZY7aS0WShPkvnOAYvQA8z8I,4130
         
     | 
| 
      
 9 
     | 
    
         
            +
            ultralytics_thop-0.2.8.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
         
     | 
| 
      
 10 
     | 
    
         
            +
            ultralytics_thop-0.2.8.dist-info/METADATA,sha256=rIGQaLv_zrB6KB-qd35Z9L8igXLHf6xab4McW8d-Yhk,8525
         
     | 
| 
      
 11 
     | 
    
         
            +
            ultralytics_thop-0.2.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
         
     | 
| 
      
 12 
     | 
    
         
            +
            ultralytics_thop-0.2.8.dist-info/top_level.txt,sha256=HQ7D0gSvDJ31CNR-f0EuXNVve05RYBmwyIkHQKiEhU8,5
         
     | 
| 
      
 13 
     | 
    
         
            +
            ultralytics_thop-0.2.8.dist-info/RECORD,,
         
     | 
| 
         @@ -1,13 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            thop/__init__.py,sha256=FI_uI0-brlbiGcvcf7nDnqAa1utJ2LN4Q2DE484cDcI,146
         
     | 
| 
       2 
     | 
    
         
            -
            thop/fx_profile.py,sha256=0xMPn0jsH4cpXT-8bd4cJP5gc2P6DudsuwmCoJ2Y48o,8270
         
     | 
| 
       3 
     | 
    
         
            -
            thop/profile.py,sha256=z89mX1zVr_42axKbhgz9k2MJbgBLaBPt30lYT_PcWuA,7848
         
     | 
| 
       4 
     | 
    
         
            -
            thop/rnn_hooks.py,sha256=GYuKaNPEdZzTuqNCrJpTBjeQHsWs65UXCCaViS2giik,6485
         
     | 
| 
       5 
     | 
    
         
            -
            thop/utils.py,sha256=V_Pj_qC6RjqMyuiSX05eeUujT07hZQV-xobCIabjDds,1422
         
     | 
| 
       6 
     | 
    
         
            -
            thop/vision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       7 
     | 
    
         
            -
            thop/vision/basic_hooks.py,sha256=RwJR5dNjDMEF9HaX077E6eEH1P90JIGPzel8H2A-y2k,4865
         
     | 
| 
       8 
     | 
    
         
            -
            thop/vision/calc_func.py,sha256=RE-qQWGjZIlRx8CNKjF-ZY7aS0WShPkvnOAYvQA8z8I,4130
         
     | 
| 
       9 
     | 
    
         
            -
            ultralytics_thop-0.2.7.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
         
     | 
| 
       10 
     | 
    
         
            -
            ultralytics_thop-0.2.7.dist-info/METADATA,sha256=7U3cuTQeP8IXMABNCXdmXzvOOa82ina-HPbgeNkEDwI,8523
         
     | 
| 
       11 
     | 
    
         
            -
            ultralytics_thop-0.2.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
         
     | 
| 
       12 
     | 
    
         
            -
            ultralytics_thop-0.2.7.dist-info/top_level.txt,sha256=HQ7D0gSvDJ31CNR-f0EuXNVve05RYBmwyIkHQKiEhU8,5
         
     | 
| 
       13 
     | 
    
         
            -
            ultralytics_thop-0.2.7.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |