From a44ebfcda748ad173ce738108969c07632a9051f Mon Sep 17 00:00:00 2001 From: auphelia <jakobapk@web.de> Date: Thu, 28 Nov 2019 16:52:58 +0000 Subject: [PATCH] [Test] Added test that creates a maxpool batch streaming layer with two new attributes --- tests/fpgadataflow/test_code_gen_trafo.py | 112 ++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 tests/fpgadataflow/test_code_gen_trafo.py diff --git a/tests/fpgadataflow/test_code_gen_trafo.py b/tests/fpgadataflow/test_code_gen_trafo.py new file mode 100644 index 000000000..de7f022a0 --- /dev/null +++ b/tests/fpgadataflow/test_code_gen_trafo.py @@ -0,0 +1,112 @@ +import numpy as np +from onnx import TensorProto, helper + +import finn.transformation.code_gen_transformation as cg_trafo +from finn.core.datatype import DataType +from finn.core.modelwrapper import ModelWrapper + + +def test_code_gen_trafo(): + inp = helper.make_tensor_value_info("in", TensorProto.FLOAT, [2, 2, 4, 4]) + outp = helper.make_tensor_value_info("out", TensorProto.FLOAT, [2, 2, 2, 2]) + + MaxPool_batch_node = helper.make_node( + "StreamingMaxPool_Batch", + ["in"], + ["out"], + domain="finn", + backend="fpgadataflow", + code_gen_dir="", + executable_path="", + ImgDim=4, + PoolDim=2, + NumChannels=2, + ) + + graph = helper.make_graph( + nodes=[MaxPool_batch_node], + name="max_pool_batch_graph", + inputs=[inp], + outputs=[outp], + ) + model = helper.make_model(graph, producer_name="finn-hls-onnx-model") + model = ModelWrapper(model) + + # set the tensor datatypes (in this case: all to bipolar) + for tensor in graph.input: + model.set_tensor_datatype(tensor.name, DataType["BIPOLAR"]) + for tensor in graph.output: + model.set_tensor_datatype(tensor.name, DataType["BIPOLAR"]) + + input_tensor = np.asarray( + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + ], + dtype=np.float32, + ).reshape(2, 2, 4, 4) + + input_dict = {"in": input_tensor} + # cg_trafo. -- GitLab