How to count frozen parameters in CNN model?

I have frozen one layer and now I want to count the number of the frozen parameters in my CNN model. How do I count this?

model_parameters = filter(lambda p: p.requires_grad, model.parameters())
params = sum([np.prod(p.size()) for p in model_parameters])
print(f"Number of Parameter: {params/1000000:.2f}M")

In this script, I count the all parameters that I have but I need only the number of my frozen parameters. When using p.requires_grad==False, It gives 0.

Thank you

Your code seems to work fine:

model = models.resnet50()
model.fc.weight.requires_grad = False
print(model.fc.weight.nelement())
# 2048000

model_parameters = filter(lambda p: p.requires_grad, model.parameters())
params = sum([np.prod(p.size()) for p in model_parameters])
print(f"Number of Parameter: {params/1000000:.2f}M")
# Number of Parameter: 23.51M

model_parameters = filter(lambda p: p.requires_grad==False, model.parameters())
params = sum([np.prod(p.size()) for p in model_parameters])
print(f"Number of Parameter: {params/1000000:.2f}M")
# Number of Parameter: 2.05M