Example #1
0
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)
Example #2
0
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)