class_docstr: Block of reversible layers. See rev_block.
class_docstr_tok: ["Block","of","reversible","layers",".","See","rev_block","."]
docstr: Run backward through the reversible layers.
docstr_tok: ["Run","backward","through","the","reversible","layers","."]
code: def _backward(self, y1, y2):
      """Run backward through the reversible layers."""
  
      f = list(self.f)
      g = list(self.g)
      f.reverse()
      g.reverse()
  
      for i in xrange(self.num_layers):
          gy1 = (
              g[i](y1, self.g_side_input)
              if self.g_side_input
              else g[i](y1)
          )
          x2 = y2 - gy1
          fx2 = (
              f[i](x2, self.f_side_input)
              if self.f_side_input
              else f[i](x2)
          )
          x1 = y1 - fx2
  
          y1, y2 = x1, x2
  
      return x1, x2
  
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 8 for calling the RevBlock obj's underlying member method code with example usage: obj._backward(y1, y2) and returns: x1,  x2