From 5a82356d84a762d632702a031e1d0d049a65b655 Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <yamanu@xilinx.com> Date: Mon, 4 Nov 2019 15:15:53 +0000 Subject: [PATCH] [Test] make test_renaming stronger --- tests/test_renaming.py | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/tests/test_renaming.py b/tests/test_renaming.py index 4c7b5d805..c13f7ee06 100644 --- a/tests/test_renaming.py +++ b/tests/test_renaming.py @@ -1,5 +1,10 @@ from pkgutil import get_data +import numpy as np +import onnx +import onnx.numpy_helper as np_helper + +import finn.core.onnx_exec as oxe import finn.transformation.general as tg import finn.transformation.infer_shapes as si from finn.core.modelwrapper import ModelWrapper @@ -12,9 +17,31 @@ def test_renaming(): model = model.transform_single(si.infer_shapes) model = model.transform_single(tg.give_unique_node_names) model = model.transform_single(tg.give_readable_tensor_names) + # do some basic checks + assert model.graph.input[0].name == "global_in" + assert model.graph.output[0].name == "global_out" + assert model.graph.node[1].op_type == "Conv" + assert model.graph.node[1].name == "Conv_0" + assert model.graph.node[1].input[1] == "Conv_0_param0" + assert model.graph.node[6].op_type == "Add" + assert model.graph.node[6].name == "Add_1" + assert model.graph.node[6].input[1] == "Add_1_param0" + # ensure running renaming twice still yields the same names + model = model.transform_single(tg.give_unique_node_names) + model = model.transform_single(tg.give_readable_tensor_names) assert model.graph.node[1].op_type == "Conv" - assert model.graph.node[1].name == "Conv_1" - assert model.graph.node[1].input[1] == "Conv_1_param0" + assert model.graph.node[1].name == "Conv_0" + assert model.graph.node[1].input[1] == "Conv_0_param0" assert model.graph.node[6].op_type == "Add" - assert model.graph.node[6].name == "Add_6" - assert model.graph.node[6].input[1] == "Add_6_param0" + assert model.graph.node[6].name == "Add_1" + assert model.graph.node[6].input[1] == "Add_1_param0" + # run renamed model to make sure we did not mess up the topology + raw_i = get_data("finn", "data/onnx/mnist-conv/test_data_set_0/input_0.pb") + raw_o = get_data("finn", "data/onnx/mnist-conv/test_data_set_0/output_0.pb") + input_tensor = onnx.load_tensor_from_string(raw_i) + output_tensor = onnx.load_tensor_from_string(raw_o) + input_dict = {"global_in": np_helper.to_array(input_tensor)} + output_dict = oxe.execute_onnx(model, input_dict) + assert np.isclose( + np_helper.to_array(output_tensor), output_dict["global_out"], atol=1e-3 + ).all() -- GitLab