Example #1
0
 def test_06(self):
     lmbda = 1e-1
     W = np.array([1.0])
     opt = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus.Options(
         {'MaxMainIter': 10})
     try:
         b = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus(self.D0,
                     self.S[...,0], lmbda, W, opt=opt, nproc=2, dimK=0)
         b.solve()
     except Exception as e:
         print(e)
         assert(0)
Example #2
0
 def test_12(self):
     lmbda = 1e-1
     W = np.ones(self.S.shape[0:2] + (1, 1, 1))
     opt = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus.Options(
         {'MaxMainIter': 10})
     try:
         b = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus(self.D0,
                     self.S, lmbda, W, opt=opt, nproc=2)
         b.solve()
     except Exception as e:
         print(e)
         assert(0)
Example #3
0
 def test_18(self):
     lmbda = 1e-1
     W = np.ones(self.S.shape[0:2] + (1, self.S.shape[2], 1))
     Nit = 10
     opts = cbpdndl.ConvBPDNMaskDcplDictLearn.Options({
         'MaxMainIter': Nit,
         'AccurateDFid': True,
         'CBPDN': {
             'RelaxParam': 1.8,
             'AutoRho': {
                 'Enabled': False
             }
         },
         'CCMOD': {
             'RelaxParam': 1.8,
             'AutoRho': {
                 'Enabled': False
             }
         }
     })
     bs = cbpdndl.ConvBPDNMaskDcplDictLearn(self.D0,
                                            self.S,
                                            lmbda,
                                            W,
                                            opt=opts,
                                            method='cns')
     Ds = bs.solve()
     optp = parcnsdl.ConvBPDNDictLearn_Consensus.Options({
         'MaxMainIter': Nit,
         'CBPDN': {
             'RelaxParam': 1.8
         },
         'CCMOD': {
             'RelaxParam': 1.8
         }
     })
     bp = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus(self.D0,
                                                       self.S,
                                                       lmbda,
                                                       W,
                                                       opt=optp,
                                                       nproc=2)
     Dp = bp.solve()
     assert (np.linalg.norm(Ds - Dp) < 1e-7)
     assert (np.abs(bs.getitstat().ObjFun[-1] - bp.getitstat().ObjFun[-1]) <
             1e-7)
Example #4
0
 def test_14(self):
     N = 16
     Nc = 3
     Nd = 5
     M = 4
     K = 2
     D0 = np.random.randn(Nd, Nd, Nc, M)
     S = np.random.randn(N, N, Nc, K)
     lmbda = 1e-1
     W = np.ones(S.shape + (1,))
     opt = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus.Options(
         {'MaxMainIter': 10})
     try:
         b = parcnsdl.ConvBPDNMaskDcplDictLearn_Consensus(D0,
                     S, lmbda, W, opt=opt, nproc=2)
         b.solve()
     except Exception as e:
         print(e)
         assert(0)