From 53f37b8a7d222d5d142e4285bb71d3efb955b3f5 Mon Sep 17 00:00:00 2001 From: auphelia <jakobapk@web.de> Date: Wed, 27 Nov 2019 11:41:25 +0000 Subject: [PATCH] [Test] Added all signed test case --- .../fpgadataflow/test_fpgadataflow_fclayer.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/fpgadataflow/test_fpgadataflow_fclayer.py b/tests/fpgadataflow/test_fpgadataflow_fclayer.py index d6650f18b..400d45821 100644 --- a/tests/fpgadataflow/test_fpgadataflow_fclayer.py +++ b/tests/fpgadataflow/test_fpgadataflow_fclayer.py @@ -149,5 +149,36 @@ def test_fpgadataflow_fclayer_all_bipolar(): assert (produced.reshape(expected.shape) == expected).all() +def test_fpgadataflow_fclayer_all_signed(): + mh = 8 + mw = 8 + wdt = idt = odt = DataType.INT2 + tdt = DataType.INT32 + # generate weights + W = gen_FINN_dt_tensor(wdt, [mh, mw]) + # single global threshold at zero + T = np.zeros((1, 1)) + + # generate input data + x = gen_FINN_dt_tensor(idt, mw) + + # set up layers with different pe and simd + pe_values = [1, int(mh/2), mh] + simd_values = [1, int(mw/2), mw] + for pe in pe_values: + for simd in simd_values: + model = make_single_fclayer_modelwrapper(W, pe, simd, wdt, idt, odt, T, tdt) + # prepare input data + input_dict = prepare_inputs(model, x, idt) + + # execute model + produced = oxe.execute_onnx(model, input_dict)["outp"] + + # expected output + oshape = model.get_tensor_shape("outp") + y = np.dot(W, x).reshape(oshape.shape) + expected = multithreshold(y.reshape(1, mh), T) + + assert (produced.reshape(expected.shape) == expected).all() -- GitLab