code: def conv_kernel_initializer(shape, dtype=None, partition_info=None):
      """Initialization for convolutional kernels.
  
      The main difference with tf.variance_scaling_initializer is that
      tf.variance_scaling_initializer uses a truncated normal with an uncorrected
      standard deviation, whereas here we use a normal distribution. Similarly,
      tf.initializers.variance_scaling uses a truncated normal with
      a corrected standard deviation.
  
      Args:
        shape: shape of variable
        dtype: dtype of variable
        partition_info: unused
  
      Returns:
        an initialization for the variable
      """
      del partition_info
      kernel_height, kernel_width, _, out_filters = shape
      fan_out = int(kernel_height * kernel_width * out_filters)
      return tf.random.normal(
          shape, mean=0.0, stddev=np.sqrt(2.0 / fan_out), dtype=dtype
      )
  
imports: import collections
  import itertools
  import math
  from absl import logging
  import numpy
  import six
  from six.moves import xrange
  import tensorflow
  import utils
label_desc: Use image node_id 1 for calling a global function with example usage: conv_kernel_initializer(shape, dtype, partition_info) and returns: tf