예제 #1
0
 def test_01(self):
     lmbda = 3
     try:
         b = tvl2.TVL2Denoise(self.D, lmbda)
         b.solve()
     except Exception as e:
         print(e)
         assert 0
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
 def test_05(self):
     lmbda = 3
     dt = cp.float64
     opt = tvl2.TVL2Denoise.Options(
         {'Verbose': False, 'MaxMainIter': 20, 'AutoRho':
          {'Enabled': True}, 'DataType': dt})
     b = tvl2.TVL2Denoise(self.D, lmbda, opt=opt)
     b.solve()
     assert b.X.dtype == dt
     assert b.Y.dtype == dt
     assert b.U.dtype == dt