def gen_colormap(max_alpha, max_beta, storage, NNU_X, NNU_D, nbrs, base_path, random=False, verbose=False): base_path = "/home/brad/11.15/" if random: iden = "random" else: nnu = NNU(max_alpha, max_beta, storage) nnu.build_index(NNU_D) iden = nnu.name count = np.zeros((max_alpha, max_beta)) for alpha in range(1, max_alpha + 1): for beta in range(1, max_beta + 1): if not random: nnu_nbrs = nnu.index(NNU_X, alpha=alpha, beta=beta) else: nnu_nbrs = [] for x in X: idxs = np.random.permutation(len(D))[: alpha * beta] nnu_nbrs.append(idxs[np.argmax(np.abs(np.dot(D[idxs], x)))]) pct_found = len(np.where(nnu_nbrs == nbrs)[0]) / float(len(X)) count[alpha - 1, beta - 1] = pct_found print alpha, beta, count[alpha - 1, beta - 1] # plt.imshow(count, interpolation='nearest', vmin=0, vmax=1) # plt.colorbar() # fig = plt.gcf() # fig.set_size_inches(18.5, 10.5) # plt.savefig(base_path + iden + 'color.png') # plt.clf() np.save(base_path + iden + "_count", count)
alphas = [1, 2, 3, 4, 5, 5, 5, 10, 10, 15, 25, 30] betas = [1, 1, 1, 1, 1, 2, 4, 5, 10, 10, 25, 25] storages = [Storage_Scheme.mini, Storage_Scheme.two_mini, Storage_Scheme.half] storages = [Storage_Scheme.two_mini] nnu_dists = {} nnu_runtimes = {} ABs = {} pool = Pool(processes=4) #NNU for storage in storages: nnu = NNU(30, 25, storage) nnu.build_index(D) print nnu.name nnu_dists[nnu.name] = [] nnu_runtimes[nnu.name] = [] ABs[nnu.name] = [] for alpha, beta in zip(alphas, betas): runtime_total = 0.0 avg_abs = [] svm_xs_tr, svm_xs_t = [], [] total_matches = 0 total_samples = 0 svm_xs_tr = pool.map(enc_func, X_tr) svm_xs_t = pool.map(enc_func, X_t)