Ejemplo n.º 1
0
    def test_calculate_output_matrix(self):
        analysis = NetworkAnalysis({
            "input_times": [[0.0, 0.0], [0.0], [0.0, 0.0, 0.0]],
            "input_indices": [[0, 1], [2], [3, 4, 5]],
            "output_times": [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0],
                             [0.0, 0.0, 0.0]],
            "output_indices": [[0, 1, 1, 2], [0, 3, 2], [4, 4], [0, 1, 5]],
            "data_params": {
                "n_bits_in": 3,
                "n_bits_out": 4,
                "n_ones_in": 1,
                "n_ones_out": 1,
                "n_samples": 6
            }
        })

        mat_out = analysis.calculate_output_matrix(
            output_params={"burst_size": 2})
        np.testing.assert_almost_equal(
            [[0.5, 0.5, 0., 0.5], [1., 0., 0., 0.5], [0.5, 0.5, 0., 0.],
             [0., 0.5, 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 0.5]], mat_out)

        analysis["topology_params"] = TopologyParameters({"multiplicity": 2})
        analysis["data_params"]["n_bits_out"] = 2
        mat_out = analysis.calculate_output_matrix(
            output_params={"burst_size": 2})
        np.testing.assert_almost_equal([[0.5, 0.25], [0.5, 0.25], [0.5, 0.],
                                        [0.25, 0.], [0., 0.5], [0., 0.25]],
                                       mat_out)
Ejemplo n.º 2
0
 def test_calculate_latency(self):
     analysis = NetworkAnalysis({
         "input_times": [[1.0, 2.0], [3.0], [4.0, 5.0, 6.0]],
         "input_indices": [[0, 1], [2], [3, 4, 5]],
         "output_times": [[1.75, 2.5], [4.5, 4.75], [5.1, 5.2, 6.3], [6.4]],
         "output_indices": [[0, 1], [3, 3], [4, 4, 5], [5]],
         "data_params": {
             "n_bits_in": 3,
             "n_bits_out": 4,
             "n_ones_in": 1,
             "n_ones_out": 1,
             "n_samples": 6
         }
     })
     latency = analysis.calculate_latencies()
     latency[latency == np.inf] = -1 # almost_equal and inf is buggy
     np.testing.assert_almost_equal([0.75, 0.5, -1, 0.75, 0.2, 0.4], latency)
Ejemplo n.º 3
0
 def test_calculate_latency(self):
     analysis = NetworkAnalysis({
         "input_times": [[1.0, 2.0], [3.0], [4.0, 5.0, 6.0]],
         "input_indices": [[0, 1], [2], [3, 4, 5]],
         "output_times": [[1.75, 2.5], [4.5, 4.75], [5.1, 5.2, 6.3], [6.4]],
         "output_indices": [[0, 1], [3, 3], [4, 4, 5], [5]],
         "data_params": {
             "n_bits_in": 3,
             "n_bits_out": 4,
             "n_ones_in": 1,
             "n_ones_out": 1,
             "n_samples": 6
         }
     })
     latency = analysis.calculate_latencies()
     latency[latency == np.inf] = -1  # almost_equal and inf is buggy
     np.testing.assert_almost_equal([0.75, 0.5, -1, 0.75, 0.2, 0.4],
                                    latency)
Ejemplo n.º 4
0
    def test_calculate_output_matrix(self):
        analysis = NetworkAnalysis({
            "input_times": [[0.0, 0.0], [0.0], [0.0, 0.0, 0.0]],
            "input_indices": [[0, 1], [2], [3, 4, 5]],
            "output_times": [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0],
                    [0.0, 0.0, 0.0]],
            "output_indices": [[0, 1, 1, 2], [0, 3, 2], [4, 4], [0, 1, 5]],
            "data_params": {
                "n_bits_in": 3,
                "n_bits_out": 4,
                "n_ones_in": 1,
                "n_ones_out": 1,
                "n_samples": 6
            }
        })

        mat_out = analysis.calculate_output_matrix(
                output_params={"burst_size": 2})
        np.testing.assert_almost_equal([
            [ 0.5,  0.5,  0.,   0.5],
            [ 1.,   0.,   0.,   0.5],
            [ 0.5,  0.5,  0.,   0. ],
            [ 0.,   0.5,  0.,   0. ],
            [ 0.,   0.,   1.,   0. ],
            [ 0.,   0.,   0.,   0.5]], mat_out)

        analysis["topology_params"] = TopologyParameters({
                "multiplicity": 2
        })
        analysis["data_params"]["n_bits_out"] = 2
        mat_out = analysis.calculate_output_matrix(
            output_params={"burst_size": 2})
        np.testing.assert_almost_equal([
            [ 0.5,  0.25],
            [ 0.5,  0.25],
            [ 0.5,  0.],
            [ 0.25, 0.],
            [ 0.,  0.5],
            [ 0.,  0.25]], mat_out)