class_docstr: Conditional Convolution
  Inspired by: https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/condconv/condconv_layers.py
  
  Grouped convolution hackery for parallel execution of the per-sample kernel filters inspired by this discussion:
  https://github.com/pytorch/pytorch/issues/17983
code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size=3,
      stride=1,
      padding="",
      dilation=1,
      groups=1,
      bias=False,
      num_experts=4,
  ):
      super(CondConv2d, self).__init__()
  
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.kernel_size = _pair(kernel_size)
      self.stride = _pair(stride)
      padding_val, is_padding_dynamic = get_padding_value(
          padding, kernel_size, stride=stride, dilation=dilation
      )
      self.dynamic_padding = (
          is_padding_dynamic  # if in forward to work with torchscript
      )
      self.padding = _pair(padding_val)
      self.dilation = _pair(dilation)
      self.groups = groups
      self.num_experts = num_experts
  
      self.weight_shape = (
          self.out_channels,
          self.in_channels // self.groups,
      ) + self.kernel_size
      weight_num_param = 1
      for wd in self.weight_shape:
          weight_num_param *= wd
      self.weight = torch.nn.Parameter(
          torch.Tensor(self.num_experts, weight_num_param)
      )
  
      if bias:
          self.bias_shape = (self.out_channels,)
          self.bias = torch.nn.Parameter(
              torch.Tensor(self.num_experts, self.out_channels)
          )
      else:
          self.register_parameter("bias", None)
  
      self.reset_parameters()
  
imports: import collections.abc
  import math
  from functools import partial
  from itertools import repeat
  from typing import Tuple, Optional
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from .config import *
label_desc: Use image node_id 1 to create a new CondConv2d object from inherited base classes: nn with example: obj = CondConv2d(in_channels, out_channels, kernel_size, stride, padding, dilation, groups, bias, num_experts)