parameters: (inputs,
              outputs_collections=None,
              scope=None)
docstring: Flattens the input while maintaining the batch_size.
  
      Assumes that the first dimension represents the batch.
  
    Args:
      inputs: A tensor of size [batch_size, ...].
      outputs_collections: Collection to add the outputs.
      scope: Optional scope for name_scope.
  
    Returns:
      A flattened tensor with shape [batch_size, k].
    Raises:
      ValueError: If inputs rank is unknown or less than 2.
docstring_summary: Flattens the input while maintaining the batch_size.
docstring_tokens: Flattens the input while maintaining the batch_size .
function: def flatten(inputs,
              outputs_collections=None,
              scope=None):
    """Flattens the input while maintaining the batch_size.
  
      Assumes that the first dimension represents the batch.
  
    Args:
      inputs: A tensor of size [batch_size, ...].
      outputs_collections: Collection to add the outputs.
      scope: Optional scope for name_scope.
  
    Returns:
      A flattened tensor with shape [batch_size, k].
    Raises:
      ValueError: If inputs rank is unknown or less than 2.
    """
    with ops.name_scope(scope, 'Flatten', [inputs]) as sc:
      inputs = ops.convert_to_tensor(inputs)
      outputs = core_layers.flatten(inputs)
      return utils.collect_named_outputs(outputs_collections, sc, outputs)
function_tokens: def flatten ( inputs , outputs_collections = None , scope = None ) : with ops . name_scope ( scope , 'Flatten' , [ inputs ] ) as sc : inputs = ops . convert_to_tensor ( inputs ) outputs = core_layers . flatten ( inputs ) return utils . collect_named_outputs ( outputs_collections , sc , outputs )