code: def shake_shake_branch(
      x, output_filters, stride, rand_forward, rand_backward, hparams
  ):
      """Building a 2 branching convnet."""
      is_training = hparams.mode == tf_estimator.ModeKeys.TRAIN
      x = tf.nn.relu(x)
      x = tf.layers.conv2d(
          x,
          output_filters,
          (3, 3),
          strides=(stride, stride),
          padding="SAME",
          name="conv1",
      )
      x = tf.layers.batch_normalization(
          x, training=is_training, name="bn1"
      )
      x = tf.nn.relu(x)
      x = tf.layers.conv2d(
          x, output_filters, (3, 3), padding="SAME", name="conv2"
      )
      x = tf.layers.batch_normalization(
          x, training=is_training, name="bn2"
      )
      if is_training:
          x = x * rand_backward + tf.stop_gradient(
              x * rand_forward - x * rand_backward
          )
      else:
          x *= 1.0 / hparams.shake_shake_num_branches
      return x
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.layers import common_layers
  from tensor2tensor.utils import hparam
  from tensor2tensor.utils import registry
  from tensor2tensor.utils import t2t_model
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
label_desc: Use image node_id 2 for calling a global function with example usage: shake_shake_branch(x, output_filters, stride, rand_forward, rand_backward, hparams) and returns: x