diff --git a/test/test_syn_hlayers.py b/test/test_syn_hlayers.py index 54bc130..19ac529 100644 --- a/test/test_syn_hlayers.py +++ b/test/test_syn_hlayers.py @@ -92,7 +92,7 @@ def custom_fn(x): @pytest.mark.parametrize("N", [1000]) @pytest.mark.parametrize("rnd_strategy", ['auto', 'standard_round', 'floor']) @pytest.mark.parametrize("io_type", ['io_parallel', 'io_stream']) -@pytest.mark.parametrize("cover_factor", [0.5, 1.0]) +@pytest.mark.parametrize("cover_factor", [0.25, 1.0]) @pytest.mark.parametrize("aggressive", [True, False]) @pytest.mark.parametrize("backend", ['vivado', 'vitis']) @pytest.mark.parametrize("seed", [42]) @@ -103,7 +103,10 @@ def test_syn_hlayers(layer, N: int, rnd_strategy: str, io_type: str, cover_facto data = get_data(N, 1, 1, seed) test_grad = N > 100 - cond = None if 'softmax' not in layer else softmax_cond + cond = None + if 'softmax' in layer: + cond = softmax_cond + cover_factor = max(cover_factor, 0.5) # Softmax table size is sensitive to range skip_sl_test = 'custom' in layer run_model_test(model, diff --git a/test/test_syn_large.py b/test/test_syn_large.py index 34c9599..db2ec18 100644 --- a/test/test_syn_large.py +++ b/test/test_syn_large.py @@ -68,7 +68,7 @@ def get_data(N: int, sigma: float, max_scale: float, seed): @pytest.mark.parametrize("N", [50000, 10]) @pytest.mark.parametrize("rnd_strategy", ['auto']) @pytest.mark.parametrize("io_type", ['io_parallel', 'io_stream']) -@pytest.mark.parametrize("cover_factor", [0.49, 1.0]) +@pytest.mark.parametrize("cover_factor", [0.25, 1.0]) @pytest.mark.parametrize("aggressive", [True, False]) @pytest.mark.parametrize("backend", ['vivado', 'vitis']) @pytest.mark.parametrize("seed", [42]) diff --git a/test/test_syn_players.py b/test/test_syn_players.py index a2e3c1d..51dcbf4 100644 --- a/test/test_syn_players.py +++ b/test/test_syn_players.py @@ -43,6 +43,8 @@ def create_model(layer: str, rnd_strategy: str, io_type: str): raise Exception(f'Please add test for {layer}') out = eval(layer)(_inp) + if 'maxpool' in layer.lower(): + out = HQuantize()(out) model = keras.Model(inp, out) for layer in model.layers: @@ -62,12 +64,6 @@ def get_data(N: int, sigma: float, max_scale: float, seed): return (a1 * a2).astype(np.float32) -def parallel_avg_pool_cond(a, b): - close: np.ndarray = np.abs(a - b) < 1e-2 - - assert np.all(close), f"Keras-Proxy mismatch for approx avg pool: {np.sum(np.any(~close, axis=tuple(range(1,close.ndim))))} out of {a.shape[0]} samples are very different. Sample: {a[~close].ravel()[:5]} vs {b[~close].ravel()[:5]}" - - @pytest.mark.parametrize('layer', [ "PConcatenate()", @@ -89,7 +85,7 @@ def parallel_avg_pool_cond(a, b): @pytest.mark.parametrize("N", [1000]) @pytest.mark.parametrize("rnd_strategy", ['auto', 'standard_round', 'floor']) @pytest.mark.parametrize("io_type", ['io_parallel', 'io_stream']) -@pytest.mark.parametrize("cover_factor", [0.5, 1.0]) +@pytest.mark.parametrize("cover_factor", [0.25, 1.0]) @pytest.mark.parametrize("aggressive", [True, False]) @pytest.mark.parametrize("backend", ['vivado', 'vitis']) @pytest.mark.parametrize("seed", [42]) diff --git a/test/test_syn_small.py b/test/test_syn_small.py index aa270cb..b26ee6d 100644 --- a/test/test_syn_small.py +++ b/test/test_syn_small.py @@ -55,7 +55,7 @@ def get_data(N: int, sigma: float, max_scale: float, seed): @pytest.mark.parametrize("N", [50000, 10]) @pytest.mark.parametrize("rnd_strategy", ['auto', 'standard_round', 'floor']) @pytest.mark.parametrize("io_type", ['io_parallel', 'io_stream']) -@pytest.mark.parametrize("cover_factor", [0.49, 1.0]) +@pytest.mark.parametrize("cover_factor", [0.25, 1.0]) @pytest.mark.parametrize("aggressive", [True, False]) @pytest.mark.parametrize("backend", ['vivado', 'vitis']) @pytest.mark.parametrize("seed", [114514, 42, 1919810])