From 0c47de12b37b0046f52fed8be5589d75f22dff48 Mon Sep 17 00:00:00 2001 From: Jackson Chin Date: Wed, 19 Feb 2025 11:55:13 -0800 Subject: [PATCH] Adds random_state option to coupled decomposition --- tensorpack/coupled.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorpack/coupled.py b/tensorpack/coupled.py index 3473c6b..fab8342 100644 --- a/tensorpack/coupled.py +++ b/tensorpack/coupled.py @@ -58,7 +58,7 @@ def __init__(self, data: xr.Dataset, rank): self.unfold = {mode: xr_unfold(data, mode) for mode in self.modes} - def initialize(self, method="svd", verbose=False): + def initialize(self, method="svd", verbose=False, random_state=215): """ Initialize each mode factor matrix """ # wipe off old values self.x["_Weight_"][:] = np.ones_like(self.x["_Weight_"]) @@ -86,7 +86,7 @@ def initialize(self, method="svd", verbose=False): if method == "svd": self.x["_" + mmode][:, :ncol] = np.linalg.svd(unfold)[0][:,:ncol] else: # randomized_svd - self.x["_" + mmode][:, :ncol] = randomized_svd(unfold, ncol, random_state=2)[0] + self.x["_" + mmode][:, :ncol] = randomized_svd(unfold, ncol, random_state=random_state)[0] if verbose: print(f"{mmode} SVD initialization: done in {time.time() - start_time}") if method == "nmf":