parameters: (self, layer, *tf_weights)
return_statement: return w_i, w_r, w_h, r_i, r_r, r_h
docstring: r"""Reverse the operations in StitchWeights().
docstring_summary: r"""Reverse the operations in StitchWeights().
docstring_tokens: r Reverse the operations in StitchWeights () .
function: def _tf_to_cudnn_weights(self, layer, *tf_weights):
      r"""Reverse the operations in StitchWeights()."""
      input_size = self._input_size
      num_units = self._num_units
      if layer == 0:
        input_weight_width = input_size
      else:
        input_weight_width = num_units
        if self._direction == CUDNN_RNN_BIDIRECTION:
          input_weight_width *= 2
      # pylint: disable=invalid-name
      W_ir, w_h, r_h = tf_weights
      W_ir = array_ops.transpose(W_ir)
      w_h = array_ops.transpose(w_h)
      r_h = array_ops.transpose(r_h)
  
      W_i, W_r = array_ops.split(W_ir, 2, axis=0)
      w_i, r_i = array_ops.split(W_i, [input_weight_width, num_units], axis=1)
      w_r, r_r = array_ops.split(W_r, [input_weight_width, num_units], axis=1)
      # pylint: enable=invalid-name
      return w_i, w_r, w_h, r_i, r_r, r_h
function_tokens: def _tf_to_cudnn_weights ( self , layer , * tf_weights ) : input_size = self . _input_size num_units = self . _num_units if layer == 0 : input_weight_width = input_size else : input_weight_width = num_units if self . _direction == CUDNN_RNN_BIDIRECTION : input_weight_width *= 2 # pylint: disable=invalid-name W_ir , w_h , r_h = tf_weights W_ir = array_ops . transpose ( W_ir ) w_h = array_ops . transpose ( w_h ) r_h = array_ops . transpose ( r_h ) W_i , W_r = array_ops . split ( W_ir , 2 , axis = 0 ) w_i , r_i = array_ops . split ( W_i , [ input_weight_width , num_units ] , axis = 1 ) w_r , r_r = array_ops . split ( W_r , [ input_weight_width , num_units ] , axis = 1 ) # pylint: enable=invalid-name return w_i , w_r , w_h , r_i , r_r , r_h