code: def _rev_block_forward(
      x1,
      x2,
      f,
      g,
      num_layers=1,
      f_side_input=None,
      g_side_input=None,
      gate_outputs=False,
  ):
      """Forward for a series of reversible layers."""
      out = (x1, x2)
      for i in xrange(num_layers):
          out = _rev_layer_forward(
              out,
              f[i],
              g[i],
              f_side_input,
              g_side_input,
              gate_outputs=gate_outputs,
          )
  
      y1, y2 = out
      return y1, y2
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  import re
  import numpy
  import six
  from six.moves import xrange
  from ..None import contrib_framework
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.layers import base
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import control_flow_util
  from tensorflow.python.ops import custom_gradient
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.util import nest
  from tensorflow.python.util import tf_inspect
label_desc: Use image node_id 4 for calling a global function with example usage: _rev_block_forward(x1, x2, f, g, num_layers, f_side_input, g_side_input, gate_outputs) and returns: y1,  y2