# 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
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) """
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,