I have a ModuleList, with Linear and Batchnorm layers. I wanted to call named
named_parameters() and only get the grads of the linear layers as follows:
for name, param in model.named_parameters(): if(isinstance(param, nn.Linear)): grads[name] = param.grad
This doesn’t work since
type(param) always returns
if "weight" in name: doesn’t work since batchnorm layers also have “weight” in their name.
Are there any workarounds to this? I also looked at giving custom names to modules in the ModuleList, but I couldn’t find how.