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 reset_parameters(self):
      init_weight = get_condconv_initializer(
          partial(nn.init.kaiming_uniform_, a=math.sqrt(5)),
          self.num_experts,
          self.weight_shape,
      )
      init_weight(self.weight)
      if self.bias is not None:
          fan_in = np.prod(self.weight_shape[1:])
          bound = 1 / math.sqrt(fan_in)
          init_bias = get_condconv_initializer(
              partial(nn.init.uniform_, a=-bound, b=bound),
              self.num_experts,
              self.bias_shape,
          )
          init_bias(self.bias)
  
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 2 for calling the CondConv2d obj's underlying member method code with example usage: obj.reset_parameters() without return types