code: def __init__(self, hypothetical_value, transpose_ops, perm):
      # Input hypothetical value to the transpose op.
      # When there are multiple transpose ops, this is the incoming hypothetical value to any one of those
      self.wrapped_hypothetical_value = (
          hypothetical_value  # type : HypotheticalValue
      )
  
      if not isinstance(hypothetical_value, HypotheticalValue):
          raise ValueError(
              "transpose optimization pass: incorrect type passed for hypothetical_value"
          )
  
      for op in transpose_ops:
          if op.op_type != "transpose":
              raise ValueError(
                  "transpose optimization pass: LazyTransposeHypotheticalValue can only be made with transpose ops"
              )
          perm_op = list(op.inputs["perm"].val)
          if perm_op != perm:
              raise ValueError(
                  "transpose optimization pass: LazyTransposeHypotheticalValue can only be made with transpose ops with the same 'perm' values"
              )
  
      self.perm = perm  # type : list[int], perm parameter of all the transpose ops
      self.transpose_ops = transpose_ops
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil.var import Var
  import logging
  import numpy
  import copy
  from collections import defaultdict
label_desc: Use image node_id 1 to create a new LazyTransposeHypotheticalValue object from inherited base classes: object with example: obj = LazyTransposeHypotheticalValue(hypothetical_value, transpose_ops, perm)