docstr:        INPUT
           |
    .------.------.
    |             |
    v             v
   [t_1]         [t_3]
    |             |
    v             v
   [t_2]         [t_4]
    |             |
    v             v
  RELU_1         RELU_2
  
  t_1,t_2 can be merged and t_3,t_4 can be merged.
  The result output would be
  
         INPUT
           |
    .------.------.
    |             |
    v             v
  RELU_1         RELU_2
docstr_tok: ["INPUT","|",".","--","--","--",".","--","--","--",".","|","|","v","v","[","t_1","]","[","t_3","]","|","|","v","v","[","t_2","]","[","t_4","]","|","|","v","v","RELU_1","RELU_2","t_1",",","t_2","can","be","merged","and","t_3",",","t_4","can","be","merged",".","The","result","output","would","be","INPUT","|",".","--","--","--",".","--","--","--",".","|","|","v","v","RELU_1","RELU_2"]
code: def test_fork(self):
      """
             INPUT
               |
        .------.------.
        |             |
        v             v
       [t_1]         [t_3]
        |             |
        v             v
       [t_2]         [t_4]
        |             |
        v             v
      RELU_1         RELU_2
  
      t_1,t_2 can be merged and t_3,t_4 can be merged.
      The result output would be
  
             INPUT
               |
        .------.------.
        |             |
        v             v
      RELU_1         RELU_2
  
      """
      input_shape = (1, 10, 5)
      input_features = [("data", datatypes.Array(*input_shape))]
      output_features = [("out", None)]
      builder = neural_network.NeuralNetworkBuilder(
          input_features,
          output_features,
          disable_rank5_shape_mapping=True,
      )
      transpose = [[2, 1, 0], [2, 1, 0]]
      input_name = "data"
      for i, axes in enumerate(transpose):
          name = "transpose_" + str(i)
          output_name = name + "_out"
          builder.add_transpose(
              name=name,
              axes=axes,
              input_name=input_name,
              output_name=output_name,
          )
          input_name = output_name
  
      builder.add_activation(
          name="relu",
          non_linearity="RELU",
          input_name=input_name,
          output_name="out",
      )
  
      input_name = "data"
      for i, axes in enumerate(transpose):
          name = "transpose_branch_2_" + str(i)
          output_name = name + "_out"
          builder.add_transpose(
              name=name,
              axes=axes,
              input_name=input_name,
              output_name=output_name,
          )
          input_name = output_name
  
      builder.add_activation(
          name="relu_branch_2",
          non_linearity="RELU",
          input_name=input_name,
          output_name="out_branch_2",
      )
      self._test_builder(builder, input_shape, 2)
  
imports: import copy
  import unittest
  from sys import platform
  import numpy
  import coremltools.models.datatypes
  from coremltools import ComputeUnit
  from coremltools._deps import _IS_MACOS
  from coremltools.converters.mil.backend.nn.passes.mlmodel_passes import remove_disconnected_layers, remove_redundant_transposes, transform_conv_crop
  from coremltools.models import MLModel
  from coremltools.models import neural_network
  from coremltools.models.neural_network.printer import print_network_spec
  from coremltools.models.utils import _macos_version
label_desc: Use image node_id 13 for calling the Redundant_Transposees_Test obj's underlying member method code with example usage: obj.test_fork() without return types