class_docstr: Detect the pattern ``input-->squeeze-->expand_dims``, and fuse
  them into an ``identity`` op if ``squeeze`` and ``expand_dims`` cancel out each other.
  Note that, the ``identity`` can be further removed by ``noop_elimination``.
  
  .. code-block::
  
      Given:
          %x[3, 1, 4, 1]
          %1[3, 4] = squeeze(%x, axes=[1, 3])
          %2[3, 1, 4, 1] = expand_dims(%1, axes=[1, 3])
          %3 = op(%2)
  
      Result:
          %x[3, 1, 4, 1]
          %2[3, 1, 4, 1] = identity(%x)
          %3 = op(%2)
class_docstr_tok: ["Detect","the","pattern","``","input","--",">","squeeze","--",">","expand_dims","``",",","and","fuse","them","into","an","``","identity","``","op","if","``","squeeze","``","and","``","expand_dims","``","cancel","out","each","other",".","Note","that",",","the","``","identity","``","can","be","further","removed","by","``","noop_elimination","``",".","..","code-block",":",":","Given",":","%","x","[","3",",","1",",","4",",","1","]","%","1","[","3",",","4","]","=","squeeze","(","%","x",",","axes=","[","1",",","3","]",")","%","2","[","3",",","1",",","4",",","1","]","=","expand_dims","(","%","1",",","axes=","[","1",",","3","]",")","%","3","=","op","(","%","2",")","Result",":","%","x","[","3",",","1",",","4",",","1","]","%","2","[","3",",","1",",","4",",","1","]","=","identity","(","%","x",")","%","3","=","op","(","%","2",")"]
code: def _match_pattern(op):
      if op.op_type != "squeeze":
          return None
      if not _check_child_op_type(op, "expand_dims"):
          return None
      return op
  
imports: import numpy
  from coremltools.converters.mil._deployment_compatibility import AvailableTarget
  from coremltools.converters.mil.frontend._utils import value_at
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil.block import is_current_opset_version_compatible_with
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import _check_child_op_type, _check_var_scalar_value, block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
  from coremltools.converters.mil.mil.types.symbolic import any_symbolic
label_desc: Use image node_id 3 for calling the fuse_squeeze_expand_dims obj's underlying member method code with example usage: obj._match_pattern(op) and returns: op, None, None