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)
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)
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)
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)