parameters: (weights, biases, shape, transpose_weights=False)
return_statement: return array_ops.concat(weights + biases, axis=0)
docstring: Utility function convert variable to CuDNN compatible parameter.
  
    Note that Keras weights for kernels are different from the CuDNN format. Eg.:
  
    ```
      Keras                 CuDNN
      [[0, 1, 2],  <--->  [[0, 2, 4],
       [3, 4, 5]]          [1, 3, 5]]
    ```
  
    If the input weights need to be in a unified format, then set
    `transpose_weights=True` to convert the weights.
  
    Args:
      weights: list of weights for the individual kernels and recurrent kernels.
      biases: list of biases for individual gate.
      shape: the shape for the converted variables that will be feed to CuDNN.
      transpose_weights: boolean, whether to transpose the weights.
  
    Returns:
      The converted weights that can be feed to CuDNN ops as param.
docstring_summary: Utility function convert variable to CuDNN compatible parameter.
docstring_tokens: Utility function convert variable to CuDNN compatible parameter .
function: def _canonical_to_params(weights, biases, shape, transpose_weights=False):
    """Utility function convert variable to CuDNN compatible parameter.
  
    Note that Keras weights for kernels are different from the CuDNN format. Eg.:
  
    ```
      Keras                 CuDNN
      [[0, 1, 2],  <--->  [[0, 2, 4],
       [3, 4, 5]]          [1, 3, 5]]
    ```
  
    If the input weights need to be in a unified format, then set
    `transpose_weights=True` to convert the weights.
  
    Args:
      weights: list of weights for the individual kernels and recurrent kernels.
      biases: list of biases for individual gate.
      shape: the shape for the converted variables that will be feed to CuDNN.
      transpose_weights: boolean, whether to transpose the weights.
  
    Returns:
      The converted weights that can be feed to CuDNN ops as param.
    """
    def convert(w):
      return array_ops.transpose(w) if transpose_weights else w
  
    weights = [array_ops.reshape(convert(x), shape) for x in weights]
    biases = [array_ops.reshape(x, shape) for x in biases]
    return array_ops.concat(weights + biases, axis=0)
function_tokens: def _canonical_to_params ( weights , biases , shape , transpose_weights = False ) : def convert ( w ) : return array_ops . transpose ( w ) if transpose_weights else w weights = [ array_ops . reshape ( convert ( x ) , shape ) for x in weights ] biases = [ array_ops . reshape ( x , shape ) for x in biases ] return array_ops . concat ( weights + biases , axis = 0 )