class_docstr: Provide arbitrary information to the optimizer.
  
  These ops are removed from the graph during canonicalization
  in order to not interfere with other optimizations.
  The idea is that prior to canonicalization, one or more Features of the
  fgraph should register the information contained in any Hint node, and
  transfer that information out of the graph.
class_docstr_tok: ["Provide","arbitrary","information","to","the","optimizer",".","These","ops","are","removed","from","the","graph","during","canonicalization","in","order","to","not","interfere","with","other","optimizations",".","The","idea","is","that","prior","to","canonicalization",",","one","or","more","Features","of","the","fgraph","should","register","the","information","contained","in","any","Hint","node",",","and","transfer","that","information","out","of","the","graph","."]
code: def __init__(self, **kwargs):
      self.hints = tuple(kwargs.items())
      self.view_map = {0: [0]}
  
imports: from __future__ import absolute_import, print_function, division
  import logging
  from six import iteritems, integer_types
  from six.moves import xrange
  from theano.gof import Op, Apply
  from theano.tensor import DimShuffle, Dot
  from theano.tensor.blas import Dot22
  from theano import tensor
  import theano.tensor
  from theano.tensor.opt import register_stabilize, register_specialize, register_canonicalize
  from theano.gof import local_optimizer
  from theano.gof.opt import Optimizer
  from theano.tensor.nlinalg import MatrixInverse, matrix_inverse, extract_diag, trace, det
  from theano.tensor.slinalg import Cholesky, cholesky, Solve, solve, imported_scipy
label_desc: Use image node_id 1 to create a new Hint object from inherited base classes: Op with example: obj = Hint()