def test_grids(data, queryShape, all_queries): global method_list, exp_name exp_name = 'grids' method_list = ['grid-uniform', 'grid-adaptive'] #'grid-pure','grid-uniform','grid-adaptive','grid-adaptive-localness' res_cube_abs = np.zeros((len(eps_list), len(seed_list), len(method_list))) res_cube_rel = np.zeros((len(eps_list), len(seed_list), len(method_list))) for j in range(len(seed_list)): queryList = all_queries[j] kexp = GKExp(data, queryList) p = Params(seed_list[j]) for i in range(len(eps_list)): p.Eps = eps_list[i] for k in range(len(method_list)): if method_list[k] == 'grid-pure': res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_Grid_pure(p) elif method_list[k] == 'grid-uniform': res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_Grid_uniform(p) elif method_list[k] == 'grid-adaptive': res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_Grid_adaptive(p) elif method_list[k] == 'grid-adaptive-localness': res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_Grid_adaptive_localness(p) else: logging.error('No such index structure!') sys.exit(1) res_abs_summary = np.average(res_cube_abs, axis=1) res_rel_summary = np.average(res_cube_rel, axis=1) #np.savetxt(Params.resdir+exp_name+'_abs_'+`int(queryShape[0]*10)`+'_'+`int(queryShape[1]*10)`, res_abs_summary, fmt='%.4f\t') np.savetxt(Params.resdir + exp_name + '_rel_' + `int(queryShape[0] * 10)` + '_' + `int(queryShape[1] * 10)`, res_rel_summary, fmt='%.4f\t')