code: def get_condconv_initializer(
      initializer: Callable,
      num_experts: int,
      expert_shape: Tuple[int, int, int, int],
  ):
      def condconv_initializer(weight):
          """CondConv initializer function."""
          num_params = np.prod(expert_shape)
          if (
              len(weight.shape) != 2
              or weight.shape[0] != num_experts
              or weight.shape[1] != num_params
          ):
              raise (
                  ValueError(
                      "CondConv variables must have shape [num_experts, num_params]"
                  )
              )
          for i in range(num_experts):
              initializer(weight[i].view(expert_shape))
  
      return condconv_initializer
  
file_path: towhee/towhee/models/layers/cond_conv2d.py
imports: import math
  from typing import Callable, Tuple
  from functools import partial
  import numpy
  import torch
  from torch import nn
  from torch.nn import functional
  from towhee.models.utils.general_utils import to_2tuple
  from towhee.models.layers.conv2d_same import conv2d_same
  from towhee.models.layers.padding_functions import get_padding_value
label_desc: Use image node_id 1 for calling a global function with example usage: get_condconv_initializer(initializer, num_experts, expert_shape) and returns: condconv_initializer