def create_update_Conv2d(c_in, c_out, k_size):
  kernel_scale = 1.0 / 3.0
  if isinstance(k_size, list) or isinstance(k_size, tuple):
    bias_scale = c_out / (3.0 * c_in * k_size[0] * k_size[1])
  else:
    bias_scale = c_out / (3.0 * c_in * k_size * k_size)
  return tf.keras.layers.Conv2D(
      filters=c_out,
      kernel_size=k_size,
      kernel_initializer=tf.keras.initializers.VarianceScaling(
          distribution='uniform', scale=kernel_scale, mode='fan_in'),
      bias_initializer=tf.keras.initializers.VarianceScaling(
          distribution='uniform', scale=bias_scale, mode='fan_in'))