Esempio n. 1
0
    # Setup the training constant and a test set

    from Lcod.simple_problem_generator import SimpleProblemGenerator
    from Lcod.simple_problem_generator import create_dictionary
    p = 64                 # Dimension of the data
    D = create_dictionary(K, p, seed=290890)
    pb = SimpleProblemGenerator(D, lmbd, rho=rho, batch_size=batch_size,
                                corr=corr, seed=422742)

    sig_test, z0_test, zs_test, _ = pb.get_test(N_test)
    sig_val, z0_val, zs_val, _ = pb.get_batch(N_val)
    C0 = pb.lasso_cost(zs_test, sig_test)

    # Compute optimal values for validation/test sets using ISTA/FISTA
    ista = IstaTF(D, gpu_usage=gpu_usage)
    ista.optimize(X=sig_val, lmbd=lmbd, Z=zs_val,
                  max_iter=10000, tol=1e-8 * C0)
    c_val = ista.train_cost[-1]
    ista.optimize(X=sig_test, lmbd=lmbd, Z=zs_test,
                  max_iter=10000, tol=1e-8 * C0)

    feed_test = {"Z": zs_test, "X": sig_test, "lmbd": lmbd}
    feed_val = {"Z": zs_val, "X": sig_val, "lmbd": lmbd,
                "c_val": c_val - 1e-10}

    # Free the ressources
    ista.terminate()
    cc = np.array(ista.train_cost)
    c_star = cc[-1] - 1e-6
Esempio n. 2
0
        reg_scale = 1e-4
        # D = create_dictionary_dl(lmbd,K)
        # D = np.identity(3072).astype(np.float32)
        D = np.random.random([3072,3072]).astype(np.float32)
        pb = FruitProblemGenerator(D,lmbd,batch_size=batch_size,seed=1234)

    else:
        raise NameError("dataset {} not reconized by the script"
                        "".format(dataset))

    # sig_test, z0_test, zs_test, _ = pb.get_test(N_test)
    sig_val, z0_val, zs_val, _ = pb.get_batch(N_val)


    # Compute optimal values for validation/test sets using ISTA/FISTA
    ista = IstaTF(D, gpu_usage=gpu_usage)
    z_curr =ista.optimize(X=sig_val, lmbd=lmbd, Z=zs_val,max_iter=1000)
    c_val = 1e-10

    # feed_test = {"Z": zs_test, "X": sig_test, "lmbd": lmbd}
    feed_val = {"Z": zs_val, "X": sig_val, "lmbd": lmbd, "c_val": c_val-1e-10}

    feed_val_lista = {"Z": zs_val, "Zp": z_curr, "X": sig_val, "lmbd": lmbd, "c_val": c_val-1e-10}

    #initiate all models 
    """
    ista = IstaTF(D, gpu_usage=gpu_usage)
    fista = FistaTF(D, gpu_usage=gpu_usage)
    lfis = LFistaNetwork(D, n_layers=10, shared=True, log_lvl=log_lvl,gpu_usage=gpu_usage,exp_dir=NAME_EXP,Zpflag=True)
    lis = LIstaNetwork(D, n_layers=10, shared=True, log_lvl=log_lvl,gpu_usage=gpu_usage, exp_dir=NAME_EXP,Zpflag = True)
    """
Esempio n. 3
0
        D = create_dictionary_haar(p)
        pb = ImageProblemGenerator(D,
                                   lmbd,
                                   batch_size=batch_size,
                                   data_dir='data/VOC',
                                   seed=1234)
    else:
        raise NameError("dataset {} not reconized by the script"
                        "".format(dataset))

    sig_test, z0_test, zs_test, _ = pb.get_test(N_test)
    sig_val, z0_val, zs_val, _ = pb.get_batch(N_val)
    C0 = pb.lasso_cost(zs_test, sig_test)

    # Compute optimal values for validation/test sets using ISTA/FISTA
    ista = IstaTF(D, gpu_usage=gpu_usage)
    ista.optimize(X=sig_test,
                  lmbd=lmbd,
                  Z=zs_test,
                  max_iter=10000,
                  tol=1e-8 * C0)

    fista = FistaTF(D, gpu_usage=gpu_usage)
    fista.optimize(X=sig_val,
                   lmbd=lmbd,
                   Z=zs_val,
                   max_iter=10000,
                   tol=1e-8 * C0)
    c_val = fista.train_cost[-1]
    fista.optimize(X=sig_test,
                   lmbd=lmbd,