class_docstr: Block of reversible layers. See rev_block.
class_docstr_tok: ["Block","of","reversible","layers",".","See","rev_block","."]
code: def call(self, inputs, forward=True):
      vs = variable_scope.get_variable_scope()
      vars_before = vs.global_variables()
  
      if forward:
          x1, x2 = inputs
          out = self._forward(x1, x2)
      else:
          y1, y2 = inputs
          out = self._backward(y1, y2)
  
      # Add any created variables to the Layer's variable stores
      new_vars = vs.global_variables()[len(vars_before) :]
      train_vars = vs.trainable_variables()
      for new_var in new_vars:
          if new_var in train_vars:
              self._trainable_weights.append(new_var)
          else:
              self._non_trainable_weights.append(new_var)
  
      return out
  
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 2 for calling the RevBlock obj's underlying member method code with example usage: obj.call(inputs, forward) and returns: out