Closed DachunKai closed 1 year ago
@DachunKai do you experience similar issue as in https://github.com/sovrasov/flops-counter.pytorch/issues/117 ?
@sovrasov I think my issue is not same as you mentioned. My bug information is:
Exception has occurred: TypeError
unsupported operand type(s) for //: 'NoneType' and 'int'
File "./test_temp.py", line 24, in <module>
as_strings=True, print_per_layer_stat=False)
TypeError: unsupported operand type(s) for //: 'NoneType' and 'int'
@sovrasov The complete test_temp.py is:
import torch
import torch.nn as nn
from ptflops import get_model_complexity_info
class Siamese(nn.Module):
def __init__(self):
super(Siamese, self).__init__()
self.conv1 = nn.Conv2d(1, 10, 3, 1)
self.conv2 = nn.Conv2d(1, 10, 3, 1)
def forward(self, x1, x2):
return self.conv1(x1) + self.conv2(x2)
def prepare_input(resolution):
x1 = torch.FloatTensor(1, *resolution)
x2 = torch.FloatTensor(1, *resolution)
return dict(x1 = x1), dict(x2 = x2)
if __name__ == '__main__':
model = Siamese()
flops, params = get_model_complexity_info(model, input_res=(1, 224, 224),
input_constructor=prepare_input,
as_strings=True, print_per_layer_stat=False)
print(' - Flops: ' + flops)
print(' - Params: ' + params)
@sovrasov I think my issue is not same as you mentioned. My bug information is:
Exception has occurred: TypeError unsupported operand type(s) for //: 'NoneType' and 'int' File "./test_temp.py", line 24, in <module> as_strings=True, print_per_layer_stat=False) TypeError: unsupported operand type(s) for //: 'NoneType' and 'int'
Then could you try ptflops==0.7.1.2 ?
Please also change dict(x1 = x1), dict(x2 = x2) -> dict(x1 = x1, x2 = x2)
Thanks, it solves the problem.
Please also change dict(x1 = x1), dict(x2 = x2) -> dict(x1 = x1, x2 = x2)
I have the following code:
But it seems prepare_input not work.