class_docstr: Represents Operation in MIL.
  
  # Properties
  name (str):
      The name of the operation
  
  input_types (InputSpec, class attr):
      Read-only named input types from all subclasses. Input types are used
      to validate `inputs`.
  
  inputs [_input_vars] (dict of str --> Var):
      An Operation (subclass of Operation) only has access to input Var,
      which is already validated against `input_spec`.
  
  outputs [_output_vars] (list of Var):
      List of output var based on type inference. Read-only
class_docstr_tok: ["Represents","Operation","in","MIL",".","#","Properties","name","(","str",")",":","The","name","of","the","operation","input_types","(","InputSpec",",","class","attr",")",":","Read-only","named","input","types","from","all","subclasses",".","Input","types","are","used","to","validate","`","inputs","`",".","inputs","[","_input_vars","]","(","dict","of","str","--",">","Var",")",":","An","Operation","(","subclass","of","Operation",")","only","has","access","to","input","Var",",","which","is","already","validated","against","`","input_spec","`",".","outputs","[","_output_vars","]","(","list","of","Var",")",":","List","of","output","var","based","on","type","inference",".","Read-only"]
docstr: Optional Python implementation of the op based on (materialized) values
  in `self.input_var`. Return a builtin value (single output) or a tuple of
  builtin values (multi-outputs) of the same length as returned by `
  type_inference`
docstr_tok: ["Optional","Python","implementation","of","the","op","based","on","(","materialized",")","values","in","`","self.input_var","`",".","Return","a","builtin","value","(","single","output",")","or","a","tuple","of","builtin","values","(","multi-outputs",")","of","the","same","length","as","returned","by","`","type_inference","`"]
code: def value_inference(self):
      """
      Optional Python implementation of the op based on (materialized) values
      in `self.input_var`. Return a builtin value (single output) or a tuple of
      builtin values (multi-outputs) of the same length as returned by `
      type_inference`
      """
      msg = "value_inference() is not implemented by op {}"
      raise NotImplementedError(msg.format(self.op_type))
  
imports: import logging
  import numpy
  import six
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.types.symbolic import is_symbolic, any_symbolic
  from .None import SPACES
  from .block import curr_block, _check_is_compatible_type
  from .input_type import TupleInputType
  from .var import Var, InternalVar, ListVar
label_desc: Use image node_id 6 for calling the Operation obj's underlying member method code with example usage: obj.value_inference() without return types