Esempio n. 1
0
    def test_object_set_cost(self):
        n_mvs = 100
        generator_list = [random_point_pair, random_line, random_circle,
                          random_sphere, random_plane]
        for generator in generator_list:
            mv_a_array = [generator() for i in range(n_mvs)]
            mv_b_array = [generator() for i in range(n_mvs)]
            print(mv_a_array)
            print('Starting kernel')
            t = time.time()
            mv_c_array = object_set_cost_cuda_mvs(mv_a_array, mv_b_array)
            end_time = time.time() - t
            print('Kernel finished')
            print(end_time)

            t = time.time()
            mv_d_array = object_set_cost_matrix(mv_a_array, mv_b_array, object_type='generic')
            print(time.time() - t)

            for i in range(n_mvs):
                for j in range(n_mvs):
                    try:
                        assert abs(mv_d_array[i, j]-mv_c_array[i, j])/abs(mv_d_array[i, j]) < 10**(-6)
                    except AssertionError:
                        print(generator.__name__)
                        if generator.__name__ == 'random_line':
                            print(val_object_cost_function(mv_a_array[i].value, mv_b_array[j].value))
                        print(mv_d_array[i, j])
                        print(mv_c_array[i, j])
                        print(abs(mv_d_array[i, j]-mv_c_array[i, j])/abs(mv_d_array[i, j]))
                        assert abs(mv_d_array[i, j]-mv_c_array[i, j])/abs(mv_d_array[i, j]) < 10**(-6)
Esempio n. 2
0
    def test_object_set_cost(self):
        n_mvs = 100
        generator_list = [random_point_pair, random_line, random_circle, \
                          random_sphere, random_plane]
        for generator in generator_list:
            mv_a_array = [generator() for i in range(n_mvs)]
            mv_b_array = [generator() for i in range(n_mvs)]
            print(mv_a_array)
            print('Starting kernel')
            t = time.time()
            mv_c_array = object_set_cost_cuda_mvs(mv_a_array, mv_b_array)
            end_time = time.time() - t
            print('Kernel finished')
            print(end_time)

            t = time.time()
            mv_d_array = object_set_cost_matrix(mv_a_array, mv_b_array, object_type='generic')
            print(time.time() - t)

            for i in range(n_mvs):
                for j in range(n_mvs):
                    try:
                        assert abs(mv_d_array[i,j]-mv_c_array[i,j])/abs(mv_d_array[i,j]) < 10**(-6)
                    except:
                        print(generator.__name__)
                        if generator.__name__ == 'random_line':
                            print(val_object_cost_function(mv_a_array[i].value, mv_b_array[j].value))
                        print(mv_d_array[i,j])
                        print(mv_c_array[i,j])
                        print(abs(mv_d_array[i,j]-mv_c_array[i,j])/abs(mv_d_array[i,j]))
                        assert abs(mv_d_array[i,j]-mv_c_array[i,j])/abs(mv_d_array[i,j]) < 10**(-6)
Esempio n. 3
0
    def test_object_set_cost(self):
        n_mvs = 100
        generator_list = [random_point_pair, random_line, random_circle, \
                          random_sphere, random_plane]
        for generator in generator_list:
            mv_a_array = [generator() for i in range(n_mvs)]
            mv_b_array = [generator() for i in range(n_mvs)]
            print(mv_a_array)
            print('Starting kernel')
            t = time.time()
            mv_c_array = object_set_cost_cuda_mvs(mv_a_array, mv_b_array)
            end_time = time.time() - t
            print('Kernel finished')
            print(end_time)

            t = time.time()
            mv_d_array = object_set_cost_matrix(mv_a_array,
                                                mv_b_array,
                                                object_type='generic')
            print(time.time() - t)
            try:
                np.testing.assert_almost_equal(mv_c_array, mv_d_array, 3)
            except:
                print(mv_c_array[0, :])
                print(mv_d_array[0, :])
                np.testing.assert_almost_equal(mv_c_array, mv_d_array, 3)
Esempio n. 4
0
    def test_line_set_cost(self):
        n_mvs = 50
        mv_a_array = [random_line() for i in range(n_mvs)]
        mv_b_array = [random_line() for i in range(n_mvs)]
        print(mv_a_array)
        print('Starting kernel')
        t = time.time()
        mv_c_array = line_set_cost_cuda_mvs(mv_a_array, mv_b_array)
        end_time = time.time() - t
        print('Kernel finished')
        print(end_time)

        t = time.time()
        mv_d_array = object_set_cost_matrix(mv_a_array, mv_b_array, object_type='generic')
        print(time.time() - t)
        try:
            np.testing.assert_almost_equal(mv_c_array, mv_d_array, 3)
        except:
            print(mv_c_array[0,:])
            print(mv_d_array[0,:])
            np.testing.assert_almost_equal(mv_c_array, mv_d_array, 3)
Esempio n. 5
0
    def test_line_set_cost(self):
        n_mvs = 50
        mv_a_array = [random_line() for i in range(n_mvs)]
        mv_b_array = [random_line() for i in range(n_mvs)]
        print(mv_a_array)
        print('Starting kernel')
        t = time.time()
        mv_c_array = line_set_cost_cuda_mvs(mv_a_array, mv_b_array)
        end_time = time.time() - t
        print('Kernel finished')
        print(end_time)

        t = time.time()
        mv_d_array = object_set_cost_matrix(mv_a_array, mv_b_array, object_type='generic')
        print(time.time() - t)
        try:
            np.testing.assert_almost_equal(mv_c_array, mv_d_array, 3)
        except:
            print(mv_c_array[0,:])
            print(mv_d_array[0,:])
            np.testing.assert_almost_equal(mv_c_array, mv_d_array, 3)