def test_mkl_simple_rewrite(self, gen): cpu_model, shape = gen() cpu_model = deterministic_io(cpu_model) mkl_model = rewrite_graph.rewrite_model_helper_simple(cpu_model) X = np.random.randn(*shape).astype(np.float32) def run(model): self.ws.run(model.InitProto()) self.ws.create_blob(model.Proto().external_input[0]).feed(X) self.ws.run(model.Proto()) return self.ws.blobs[model.Proto().external_output[0]].fetch() np.testing.assert_allclose(run(cpu_model), run(mkl_model), atol=1e-4, rtol=1e-4)
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)
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)