code: def test_mkl_multi_output_rewrite(self):
      cpu_model, shapes = double_matmul()
      cpu_model = deterministic_io(cpu_model)
      mkl_model = rewrite_graph.rewrite_model_helper_simple(cpu_model)
      np.random.seed(1701)
      Xs = [
          np.random.randn(*shape).astype(np.float32) for shape in shapes
      ]
  
      def run(model):
          self.ws.run(model.InitProto())
          for name, X in zip(model.Proto().external_input, Xs):
              self.ws.create_blob(name).feed(X)
          print(model.Proto())
          self.ws.run(model.Proto())
          return [
              self.ws.blobs[name].fetch()
              for name in model.Proto().external_output
          ]
  
      run(mkl_model)
  
      np.testing.assert_allclose(
          run(cpu_model), run(mkl_model), atol=1e-4, rtol=1e-4
      )
  
imports: import unittest
  import numpy
  import copy
  from hypothesis import given
  import hypothesis.strategies
  from caffe2.python.model_helper import ModelHelper
  from caffe2.python.models import resnet
  from caffe2.python import workspace, brew
  import caffe2.python.hypothesis_test_util
  import caffe2.python.mkl.rewrite_graph
label_desc: Use image node_id 3 for calling the MKLRewriteTest obj's underlying member method code with example usage: obj.test_mkl_multi_output_rewrite() and returns: unknown