code: def compute_Conv2d_memory(module, inp, out):
      # Can have multiple inputs, getting the first one
      assert isinstance(module, nn.Conv2d)
      assert len(inp.size()) == 4 and len(inp.size()) == len(out.size())
  
      batch_size = inp.size()[0]
  
      # This includes weights with bias if the module contains it.
      mread = batch_size * (inp[0].numel() + num_params(module))
      mwrite = out.numel()
  
      return mread * inp.element_size(), mwrite * out.element_size()
  
file_path: tensorwatch/tensorwatch/model_graph/torchstat/compute_memory.py
imports: import torch.nn
  import torch
  import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: compute_Conv2d_memory(module, inp, out) and returns: unknown,  unknown