code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size,
      stride=1,
      padding=0,
      dilation=1,
      groups=1,
      deformable_groups=1,
      bias=True,
  ):
      super(ModulatedDeformConv, self).__init__()
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.kernel_size = _pair(kernel_size)
      self.stride = stride
      self.padding = padding
      self.dilation = dilation
      self.groups = groups
      self.deformable_groups = deformable_groups
      self.with_bias = bias
  
      self.weight = nn.Parameter(
          torch.Tensor(
              out_channels, in_channels // groups, *self.kernel_size
          )
      )
      if bias:
          self.bias = nn.Parameter(torch.Tensor(out_channels))
      else:
          self.register_parameter("bias", None)
      self.reset_parameters()
  
imports: import math
  import torch
  import torch.nn
  from torch.nn.modules.utils import _pair
  from ..functions.deform_conv import deform_conv, modulated_deform_conv
label_desc: Use image node_id 1 to create a new ModulatedDeformConv object from inherited base classes: nn with example: obj = ModulatedDeformConv(in_channels, out_channels, kernel_size, stride, padding, dilation, groups, deformable_groups, bias)