class_docstr: Returns the elements selected from either ``a`` or ``b``, depending on
  ``cond``. Shape of ``cond``, ``a``, ``b`` must be broadcastable.
  
  ``a, b`` must be provided together, or neither is provided. If neither is
  provided, returns the indices of ``cond`` that are ``True``.
  
  Parameters
  ----------
  cond: tensor<[*D1], T> (Required)
      * Tensor, when True (non-zero), select element from x, otherwise, y
  
  a: tensor<[*D2], T> (Optional. Default to None)
      * Values selected at indices where ``cond`` is True
  
  b: tensor<[*D3], T> (Optional. Default to None)
      * Values selected at indices where ``cond`` is False
  
  Returns
  -------
  tensor<[*D_out], T> or tensor<[n, len(D1)], int32>
      *  If ``a, b`` are both provided, return shape is based on broadcast rules from ``cond, a, b``. If ``a, b`` are ``None``, returns shape is 2D, where first dimension ``n`` is the number of matching indices in ``cond`` and ``len(D1)`` is the rank of ``cond``.
  
  Attributes
  ----------
  T: fp32
class_docstr_tok: ["Returns","the","elements","selected","from","either","``","a","``","or","``","b","``",",","depending","on","``","cond","``",".","Shape","of","``","cond","``",",","``","a","``",",","``","b","``","must","be","broadcastable",".","``","a",",","b","``","must","be","provided","together",",","or","neither","is","provided",".","If","neither","is","provided",",","returns","the","indices","of","``","cond","``","that","are","``","True","``",".","Parameters","--","--","--","--","--","cond",":","tensor","<","[","*","D1","]",",","T",">","(","Required",")","*","Tensor",",","when","True","(","non-zero",")",",","select","element","from","x",",","otherwise",",","y","a",":","tensor","<","[","*","D2","]",",","T",">","(","Optional",".","Default","to","None",")","*","Values","selected","at","indices","where","``","cond","``","is","True","b",":","tensor","<","[","*","D3","]",",","T",">","(","Optional",".","Default","to","None",")","*","Values","selected","at","indices","where","``","cond","``","is","False","Returns","--","--","--","-","tensor","<","[","*","D_out","]",",","T",">","or","tensor","<","[","n",",","len","(","D1",")","]",",","int32",">","*","If","``","a",",","b","``","are","both","provided",",","return","shape","is","based","on","broadcast","rules","from","``","cond",",","a",",","b","``",".","If","``","a",",","b","``","are","``","None","``",",","returns","shape","is","2D",",","where","first","dimension","``","n","``","is","the","number","of","matching","indices","in","``","cond","``","and","``","len","(","D1",")","``","is","the","rank","of","``","cond","``",".","Attributes","--","--","--","--","--","T",":","fp32"]
code: def __init__(self, **kwargs):
      super(select, self).__init__(**kwargs)
  
imports: import six
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.types.type_mapping import numpy_val_to_builtin_val, is_subtype
  import copy
  from coremltools.converters.mil.mil import Block, SYMBOL, NONE
  from coremltools.converters.mil.mil.var import Var
  from coremltools.converters.mil.mil import get_new_symbol
  from ._op_reqs import *
  import logging
label_desc: Use image node_id 1 to create a new select object from inherited base classes: Operation with example: obj = select()