import os
os.environ["OMP_NUM_THREADS"] = "1" # export OMP_NUM_THREADS=1
os.environ["OPENBLAS_NUM_THREADS"] = "1" # export OPENBLAS_NUM_THREADS=1
os.environ["MKL_NUM_THREADS"] = "1" # export MKL_NUM_THREADS=1
os.environ["VECLIB_MAXIMUM_THREADS"] = "1" # export VECLIB_MAXIMUM_THREADS=1
os.environ["NUMEXPR_NUM_THREADS"] = "1" # export NUMEXPR_NUM_THREADS=1
from TELF.factorization import NMFk
import sys; sys.path.append("../../scripts/")
from generate_X import gen_data,gen_data_sparse
X = gen_data(R=4, shape=[100, 200])["X"]
params = {
"n_perturbs":12,
"n_iters":100,
"epsilon":0.015,
"n_jobs":-1,
"init":"nnsvd",
"use_gpu":False,
"save_path":"../../results/",
"save_output":True,
"collect_output":True,
"predict_k_method":"sill",
"verbose":True,
"nmf_verbose":False,
"transpose":False,
"sill_thresh":0.8,
"pruned":True,
'nmf_method':'nmf_fro_mu', # nmf_fro_mu, nmf_recommender
"calculate_error":True,
"predict_k":True,
"use_consensus_stopping":0,
"calculate_pac":True,
"consensus_mat":True,
"perturb_type":"uniform",
"perturb_multiprocessing":False,
"perturb_verbose":False,
"simple_plot":True
}
Ks = range(1,9,1)
name = "Example_NMFk"
note = "This is an example run of NMFk"
model = NMFk(**params)
results = model.fit(X, Ks, name, note)