def test_02(self): lmbda = 1e-1 opt = tvl2.TVL2Deconv.Options( {'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250}) b = tvl2.TVL2Deconv(cp.ones((1)), self.D, lmbda, opt, axes=(0, 1, 2)) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 567.72425227) < 1e-3 assert sm.mse(self.U, X) < 1e-3
def test_02(self): lmbda = 1e-1 opt = tvl2.TVL2Deconv.Options( {'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250}) b = tvl2.TVL2Deconv(cp.ones((1)), self.D, lmbda, opt) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 45.45958573088) < 1e-3 assert sm.mse(self.U, X) < 1e-3
def test_01(self): lmbda = 1e-1 opt = tvl2.TVL2Denoise.Options( {'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250, 'rho': 10 * lmbda}) b = tvl2.TVL2Denoise(self.D, lmbda, opt, axes=(0, 1, 2)) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 366.04267554965134) < 1e-3 assert sm.mse(self.U, X) < 1e-3
def test_01(self): lmbda = 1e-1 opt = tvl2.TVL2Denoise.Options( {'Verbose': False, 'gEvalY': False, 'MaxMainIter': 300, 'rho': 75 * lmbda}) b = tvl2.TVL2Denoise(self.D, lmbda, opt) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 32.875710674129564) < 1e-3 assert sm.mse(self.U, X) < 1e-3
def test_01(self): lmbda = 3 opt = tvl1.TVL1Denoise.Options({ 'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250 }) b = tvl1.TVL1Denoise(self.D, lmbda, opt, axes=(0, 1, 2)) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 6219.6209699337605) < 1e-6 assert sm.mse(self.U, X) < 1e-6
def test_01(self): lmbda = 3 opt = tvl1.TVL1Denoise.Options({ 'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250 }) b = tvl1.TVL1Denoise(self.D, lmbda, opt) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 447.78101756451662) < 1e-6 assert sm.mse(self.U, X) < 1e-6
def test_02(self): lmbda = 3 opt = tvl1.TVL1Deconv.Options({ 'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250, 'rho': 10.0 }) b = tvl1.TVL1Deconv(cp.ones((1, )), self.D, lmbda, opt, axes=(0, 1, 2)) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 12363.969118576981) < 1e-5 assert sm.mse(self.U, X) < 1e-4
def test_02(self): lmbda = 3 opt = tvl1.TVL1Deconv.Options({ 'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250, 'rho': 10.0 }) b = tvl1.TVL1Deconv(cp.ones((1, )), self.D, lmbda, opt) X = b.solve() assert cp.abs(b.itstat[-1].ObjFun - 831.88219947939172) < 1e-5 assert sm.mse(self.U, X) < 1e-4
def test_01(self): N = 64 K = 5 L = 10 u = cp.random.randn(N, K) U = cp.dot(u, u.T) V = cp.random.randn(N, N) t = cp.sort(cp.abs(V).ravel())[V.size - L] V[cp.abs(V) < t] = 0 D = U + V opt = rpca.RobustPCA.Options({ 'Verbose': False, 'gEvalY': False, 'MaxMainIter': 250, 'AutoRho': { 'Enabled': True } }) b = rpca.RobustPCA(D, None, opt) X, Y = b.solve() assert sm.mse(U, X) < 5e-6 assert sm.mse(V, Y) < 1e-8