parameters: (op)
docstring: Shape function for the RefSelect op.
  
    The RefSelect takes one scalar input and N inputs of arbitrary
    shapes, and produces one output, which is one of those N inputs.
  
    This function conservatively assumes that if any of the N inputs is
    not fully defined, the output shape is unknown. If all of the N
    inputs have the exact same known shape, the output must have that
    shape.
  
    Args:
      op: A RefSelect Operation.
  
    Returns:
      A single-element list containing the Shape of the RefSelect op.
docstring_summary: Shape function for the RefSelect op.
docstring_tokens: Shape function for the RefSelect op .
function: def _RefSelectShape(op):
    """Shape function for the RefSelect op.
  
    The RefSelect takes one scalar input and N inputs of arbitrary
    shapes, and produces one output, which is one of those N inputs.
  
    This function conservatively assumes that if any of the N inputs is
    not fully defined, the output shape is unknown. If all of the N
    inputs have the exact same known shape, the output must have that
    shape.
  
    Args:
      op: A RefSelect Operation.
  
    Returns:
      A single-element list containing the Shape of the RefSelect op.
    """
    unused_shape = op.inputs[0].get_shape().merge_with(tensor_shape.scalar())
    first_input_shape = op.inputs[1].get_shape()
    if first_input_shape.is_fully_defined():
      for input_ in op.inputs[2:]:
        input_shape = input_.get_shape()
        if (not input_shape.is_fully_defined()
            or not input_shape.is_compatible_with(first_input_shape)):
          return [tensor_shape.unknown_shape()]
      return [first_input_shape]
    else:
      return [tensor_shape.unknown_shape()]
function_tokens: def _RefSelectShape ( op ) : unused_shape = op . inputs [ 0 ] . get_shape ( ) . merge_with ( tensor_shape . scalar ( ) ) first_input_shape = op . inputs [ 1 ] . get_shape ( ) if first_input_shape . is_fully_defined ( ) : for input_ in op . inputs [ 2 : ] : input_shape = input_ . get_shape ( ) if ( not input_shape . is_fully_defined ( ) or not input_shape . is_compatible_with ( first_input_shape ) ) : return [ tensor_shape . unknown_shape ( ) ] return [ first_input_shape ] else : return [ tensor_shape . unknown_shape ( ) ]