code: def test_linear_graph_two_op_fusion_1(self):
      @mb.program(input_specs=[mb.TensorSpec(shape=(1, 2, 3, 4))])
      def prog(x):
          x = mb.transpose(x=x, perm=[0, 3, 1, 2])
          x = mb.relu(x=x)
          x = mb.identity(x=x)
          x = mb.transpose(x=x, perm=[0, 2, 3, 1])
          x = mb.relu(x=x)
          return x
  
      prev_prog, prev_block, block = apply_pass_and_basic_check(
          prog, "common::reduce_transposes"
      )
      self.assertEqual(
          get_op_types_in_program(prev_prog),
          ["transpose", "relu", "identity", "transpose", "relu"],
      )
      self.assertEqual(
          get_op_types_in_program(prog), ["relu", "identity", "relu"]
      )
      assert_model_is_valid(
          prog,
          {"x": (1, 2, 3, 4)},
          expected_output_shapes={block.outputs[0].name: (1, 2, 3, 4)},
      )
  
imports: from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.testing_utils import assert_op_count_match, assert_model_is_valid, get_op_types_in_program, apply_pass_and_basic_check
  import unittest
  import pytest
  import numpy
label_desc: Use image node_id 3 for calling the TransposeOptimizationPass obj's underlying member method code with example usage: obj.test_linear_graph_two_op_fusion_1() and returns: x