code: def extract_kwargs_from_mod(self):
      root = self.tracer.root
      conv_module = root.get_submodule(self.target)
      kwarg_attributes = ["groups", "dilation", "stride"]
      non_bias_kwargs = {}
      for attr_name in kwarg_attributes:
          if hasattr(conv_module, attr_name):
              non_bias_kwargs[attr_name] = getattr(
                  conv_module, attr_name
              )
      if conv_module.padding_mode != "zeros":
          # TODO: non zeros mode requires some extra processing for input
          conv_type = type(conv_module)
          if conv_type == "torch.nn.Conv1d":
              padding_element = _single(0)
          elif conv_type == "torch.nn.Conv2d":
              padding_element = _pair(0)
          elif conv_type == "torch.nn.Conv3d":
              padding_element = _triple(0)
          non_bias_kwargs["padding"] = padding_element
      else:
          non_bias_kwargs["padding"] = getattr(conv_module, "padding")
  
      return non_bias_kwargs
  
file_path: ColossalAI/colossalai/fx/tracer/bias_addition_patch/patched_bias_addition_module/conv.py
imports: import torch
  from torch.nn.modules.utils import _pair, _single, _triple
  from ...registry import bias_addition_module
  from .bias_addition_module import BiasAdditionModule
label_desc: Use image node_id 1 for calling the BiasAdditionConv obj's underlying member method code with example usage: obj.extract_kwargs_from_mod() and returns: non_bias_kwargs