code: def multi_conv_res(
      x, padding, name, layers, hparams, mask=None, source=None
  ):
      """A stack of separable convolution blocks with residual connections."""
      with tf.variable_scope(name):
          padding_bias = None
          if mask is not None:
              padding_bias = (
                  1.0 - mask
              ) * -1e9  # Bias to not attend to padding.
              if (
                  padding == "LEFT"
              ):  # Do not mask anything when left-padding.
                  mask = None
          if (
              hparams.kernel_scheme in _KERNEL_SCHEMES
              and hparams.dilation_scheme in _DILATION_SCHEMES
          ):
              kernels = _KERNEL_SCHEMES[hparams.kernel_scheme]
              dilations = _DILATION_SCHEMES[hparams.dilation_scheme]
              dilations_and_kernels = list(zip(dilations, kernels))
              dilations_and_kernels1 = dilations_and_kernels[:2]
              dilations_and_kernels2 = dilations_and_kernels[2:]
          else:
              k = (hparams.kernel_height, hparams.kernel_width)
              k2 = (hparams.large_kernel_size, 1)
              dilations_and_kernels1 = [((1, 1), k), ((1, 1), k)]
              dilations_and_kernels2 = [((1, 1), k2), ((4, 4), k2)]
          separabilities1 = [hparams.separability, hparams.separability]
          separabilities2 = [hparams.separability] * len(
              dilations_and_kernels2
          )
          if hparams.separability < 0:
              separabilities1 = [
                  hparams.separability - 1,
                  hparams.separability,
              ]
              separabilities2 = [
                  hparams.separability - i
                  for i in reversed(range(len(dilations_and_kernels2)))
              ]
  
          def norm_fn(x, name):
              with tf.variable_scope(name, default_name="norm"):
                  return common_layers.apply_norm(
                      x,
                      hparams.norm_type,
                      hparams.hidden_size,
                      hparams.norm_epsilon,
                  )
  
          for layer in range(layers):
              with tf.variable_scope("layer_%d" % layer):
                  y = common_layers.subseparable_conv_block(
                      x,
                      hparams.hidden_size,
                      dilations_and_kernels1,
                      normalizer_fn=norm_fn,
                      padding=padding,
                      mask=mask,
                      separabilities=separabilities1,
                      name="residual1",
                  )
                  x += (
                      common_layers.subseparable_conv_block(
                          x + y,
                          hparams.hidden_size,
                          dilations_and_kernels2,
                          normalizer_fn=norm_fn,
                          padding=padding,
                          mask=mask,
                          separabilities=separabilities2,
                          name="residual2",
                      )
                      + y
                  )
                  if (
                      source is not None
                      and hparams.attention_type != "none"
                  ):
                      x += attention(
                          x, source, norm_fn, hparams, bias=padding_bias
                      )
                  if mask is not None:
                      x *= mask
          return tf.nn.dropout(x, 1.0 - hparams.dropout)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from six.moves import range
  from six.moves import zip
  from tensor2tensor.layers import common_attention
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import modalities
  from tensor2tensor.utils import registry
  from tensor2tensor.utils import t2t_model
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling a global function with example usage: multi_conv_res(x, padding, name, layers, hparams, mask, source) and returns: tf, common_layers