code: def summary(self):
      model_parameters = filter(
          lambda p: p.requires_grad, self.parameters()
      )
      nbr_params = sum([np.prod(p.size()) for p in model_parameters])
      self.logger.info(f"Nbr of trainable parameters: {nbr_params}")
  
imports: import torch
  import logging
  import torch.nn
  import torch.nn.functional
  from torchvision import models
  from itertools import chain
  import numpy
  from collections import OrderedDict
label_desc: Use image node_id 3 for calling the BaseModel obj's underlying member method code with example usage: obj.summary() without return types