This example demonstrates the use of dictlrn.cbpdndl.ConvBPDNDictLearn for learning a convolutional dictionary from a set of training images. The dictionary learning algorithm is based on the ADMM consensus dictionary update [1] [26].
from __future__ import print_function
from builtins import input
import pyfftw # See https://github.com/pyFFTW/pyFFTW/issues/40
import numpy as np
from sporco.dictlrn import cbpdndl
from sporco import util
from sporco import signal
from sporco import plot
plot.config_notebook_plotting()
Load training images.
exim = util.ExampleImages(scaled=True, zoom=0.25, gray=True)
S1 = exim.image('barbara.png', idxexp=np.s_[10:522, 100:612])
S2 = exim.image('kodim23.png', idxexp=np.s_[:, 60:572])
S3 = exim.image('monarch.png', idxexp=np.s_[:, 160:672])
S4 = exim.image('sail.png', idxexp=np.s_[:, 210:722])
S5 = exim.image('tulips.png', idxexp=np.s_[:, 30:542])
S = np.dstack((S1, S2, S3, S4, S5))
Highpass filter training images.
npd = 16
fltlmbd = 5
sl, sh = signal.tikhonov_filter(S, fltlmbd, npd)
Construct initial dictionary.
np.random.seed(12345)
D0 = np.random.randn(8, 8, 64)
Set regularization parameter and options for dictionary learning solver.
lmbda = 0.2
opt = cbpdndl.ConvBPDNDictLearn.Options({'Verbose': True, 'MaxMainIter': 200,
'CBPDN': {'rho': 50.0*lmbda + 0.5},
'CCMOD': {'rho': 10.0, 'ZeroMean': True}},
dmethod='cns')
Create solver object and solve.
d = cbpdndl.ConvBPDNDictLearn(D0, sh, lmbda, opt, dmethod='cns')
D1 = d.solve()
print("ConvBPDNDictLearn solve time: %.2fs" % d.timer.elapsed('solve'))
Itn Fnc DFid ℓ1 Cnstr r_X s_X ρ_X r_D s_D ρ_D -------------------------------------------------------------------------------------------------------- 0 1.00e+03 1.14e+01 4.96e+03 6.62e-07 1.00e+00 3.92e-03 1.05e+01 1.00e-01 2.77e-03 1.00e+01 1 7.70e+02 6.67e+01 3.52e+03 6.96e-07 9.75e-01 5.43e-02 1.05e+01 9.11e-02 9.63e-02 1.00e+01 2 6.20e+02 1.24e+02 2.48e+03 7.46e-07 8.00e-01 1.17e-01 1.05e+01 8.26e-02 2.24e-01 1.00e+01 3 5.50e+02 1.55e+02 1.98e+03 8.52e-07 3.59e-01 1.36e-01 1.05e+01 8.03e-02 2.05e-01 1.00e+01 4 5.39e+02 1.58e+02 1.91e+03 7.64e-07 2.39e-01 1.28e-01 1.05e+01 6.38e-02 1.83e-01 1.00e+01 5 5.57e+02 1.47e+02 2.05e+03 6.95e-07 1.92e-01 1.17e-01 1.05e+01 5.53e-02 1.25e-01 1.00e+01 6 5.33e+02 1.36e+02 1.99e+03 7.25e-07 1.53e-01 9.49e-02 1.05e+01 4.75e-02 1.03e-01 1.00e+01 7 4.94e+02 1.27e+02 1.83e+03 7.72e-07 1.28e-01 8.04e-02 1.05e+01 4.11e-02 8.85e-02 1.00e+01 8 4.32e+02 1.22e+02 1.55e+03 6.88e-07 1.04e-01 7.24e-02 1.05e+01 3.67e-02 8.72e-02 1.00e+01 9 4.03e+02 1.20e+02 1.41e+03 7.05e-07 9.08e-02 6.32e-02 1.05e+01 3.16e-02 8.53e-02 1.00e+01 10 3.76e+02 1.20e+02 1.28e+03 6.46e-07 7.66e-02 5.35e-02 1.05e+01 2.66e-02 8.30e-02 1.00e+01 11 3.71e+02 1.20e+02 1.26e+03 6.83e-07 6.89e-02 4.61e-02 1.05e+01 2.24e-02 7.54e-02 1.00e+01 12 3.55e+02 1.19e+02 1.18e+03 7.88e-07 5.84e-02 4.17e-02 1.05e+01 1.94e-02 6.95e-02 1.00e+01 13 3.52e+02 1.19e+02 1.16e+03 7.58e-07 5.32e-02 3.95e-02 1.05e+01 1.76e-02 6.37e-02 1.00e+01 14 3.42e+02 1.19e+02 1.12e+03 8.61e-07 4.67e-02 3.76e-02 1.05e+01 1.59e-02 6.01e-02 1.00e+01 15 3.40e+02 1.18e+02 1.11e+03 7.34e-07 4.37e-02 3.56e-02 1.05e+01 1.49e-02 5.68e-02 1.00e+01 16 3.33e+02 1.17e+02 1.08e+03 7.91e-07 3.94e-02 3.40e-02 1.05e+01 1.37e-02 5.48e-02 1.00e+01 17 3.31e+02 1.16e+02 1.08e+03 6.94e-07 3.72e-02 3.23e-02 1.05e+01 1.29e-02 5.27e-02 1.00e+01 18 3.25e+02 1.15e+02 1.05e+03 6.96e-07 3.40e-02 3.08e-02 1.05e+01 1.21e-02 5.10e-02 1.00e+01 19 3.22e+02 1.14e+02 1.04e+03 7.10e-07 3.23e-02 2.94e-02 1.05e+01 1.15e-02 4.91e-02 1.00e+01 20 3.17e+02 1.13e+02 1.02e+03 7.22e-07 2.99e-02 2.83e-02 1.05e+01 1.09e-02 4.74e-02 1.00e+01 21 3.14e+02 1.12e+02 1.01e+03 8.45e-07 2.86e-02 2.71e-02 1.05e+01 1.05e-02 4.57e-02 1.00e+01 22 3.10e+02 1.12e+02 9.89e+02 7.15e-07 2.67e-02 2.62e-02 1.05e+01 1.00e-02 4.42e-02 1.00e+01 23 3.07e+02 1.11e+02 9.80e+02 7.58e-07 2.56e-02 2.53e-02 1.05e+01 9.65e-03 4.28e-02 1.00e+01 24 3.04e+02 1.11e+02 9.65e+02 7.46e-07 2.42e-02 2.44e-02 1.05e+01 9.26e-03 4.15e-02 1.00e+01 25 3.02e+02 1.11e+02 9.59e+02 7.36e-07 2.33e-02 2.37e-02 1.05e+01 8.97e-03 4.03e-02 1.00e+01 26 3.00e+02 1.10e+02 9.47e+02 7.56e-07 2.22e-02 2.31e-02 1.05e+01 8.68e-03 3.93e-02 1.00e+01 27 2.98e+02 1.10e+02 9.42e+02 8.31e-07 2.15e-02 2.25e-02 1.05e+01 8.43e-03 3.82e-02 1.00e+01 28 2.96e+02 1.10e+02 9.34e+02 7.61e-07 2.06e-02 2.19e-02 1.05e+01 8.19e-03 3.73e-02 1.00e+01 29 2.95e+02 1.09e+02 9.29e+02 7.39e-07 1.99e-02 2.14e-02 1.05e+01 7.98e-03 3.64e-02 1.00e+01 30 2.93e+02 1.09e+02 9.22e+02 7.66e-07 1.92e-02 2.09e-02 1.05e+01 7.77e-03 3.56e-02 1.00e+01 31 2.92e+02 1.08e+02 9.18e+02 7.64e-07 1.86e-02 2.04e-02 1.05e+01 7.57e-03 3.47e-02 1.00e+01 32 2.90e+02 1.08e+02 9.11e+02 7.94e-07 1.80e-02 1.99e-02 1.05e+01 7.39e-03 3.39e-02 1.00e+01 33 2.89e+02 1.08e+02 9.07e+02 7.81e-07 1.75e-02 1.95e-02 1.05e+01 7.22e-03 3.31e-02 1.00e+01 34 2.88e+02 1.07e+02 9.01e+02 7.98e-07 1.69e-02 1.91e-02 1.05e+01 7.07e-03 3.24e-02 1.00e+01 35 2.86e+02 1.07e+02 8.97e+02 8.17e-07 1.64e-02 1.87e-02 1.05e+01 6.91e-03 3.17e-02 1.00e+01 36 2.85e+02 1.07e+02 8.92e+02 7.20e-07 1.60e-02 1.83e-02 1.05e+01 6.77e-03 3.10e-02 1.00e+01 37 2.84e+02 1.06e+02 8.87e+02 7.43e-07 1.55e-02 1.79e-02 1.05e+01 6.61e-03 3.03e-02 1.00e+01 38 2.83e+02 1.06e+02 8.83e+02 7.71e-07 1.51e-02 1.75e-02 1.05e+01 6.47e-03 2.96e-02 1.00e+01 39 2.82e+02 1.06e+02 8.79e+02 9.09e-07 1.47e-02 1.71e-02 1.05e+01 6.33e-03 2.90e-02 1.00e+01 40 2.81e+02 1.06e+02 8.75e+02 7.12e-07 1.43e-02 1.68e-02 1.05e+01 6.20e-03 2.84e-02 1.00e+01 41 2.80e+02 1.06e+02 8.71e+02 7.89e-07 1.39e-02 1.65e-02 1.05e+01 6.08e-03 2.78e-02 1.00e+01 42 2.79e+02 1.05e+02 8.67e+02 7.84e-07 1.36e-02 1.61e-02 1.05e+01 5.95e-03 2.72e-02 1.00e+01 43 2.78e+02 1.05e+02 8.64e+02 7.46e-07 1.32e-02 1.58e-02 1.05e+01 5.83e-03 2.66e-02 1.00e+01 44 2.77e+02 1.05e+02 8.60e+02 8.25e-07 1.29e-02 1.55e-02 1.05e+01 5.71e-03 2.60e-02 1.00e+01 45 2.76e+02 1.05e+02 8.57e+02 7.63e-07 1.26e-02 1.52e-02 1.05e+01 5.60e-03 2.55e-02 1.00e+01 46 2.75e+02 1.05e+02 8.54e+02 8.02e-07 1.23e-02 1.50e-02 1.05e+01 5.50e-03 2.50e-02 1.00e+01 47 2.75e+02 1.04e+02 8.51e+02 7.38e-07 1.20e-02 1.47e-02 1.05e+01 5.40e-03 2.45e-02 1.00e+01 48 2.74e+02 1.04e+02 8.48e+02 8.54e-07 1.17e-02 1.45e-02 1.05e+01 5.31e-03 2.40e-02 1.00e+01 49 2.73e+02 1.04e+02 8.45e+02 8.04e-07 1.15e-02 1.42e-02 1.05e+01 5.22e-03 2.36e-02 1.00e+01 50 2.72e+02 1.04e+02 8.42e+02 8.21e-07 1.12e-02 1.40e-02 1.05e+01 5.12e-03 2.32e-02 1.00e+01 51 2.72e+02 1.04e+02 8.40e+02 8.10e-07 1.10e-02 1.38e-02 1.05e+01 5.04e-03 2.27e-02 1.00e+01 52 2.71e+02 1.04e+02 8.37e+02 6.23e-07 1.08e-02 1.36e-02 1.05e+01 4.96e-03 2.23e-02 1.00e+01 53 2.70e+02 1.03e+02 8.34e+02 8.41e-07 1.06e-02 1.34e-02 1.05e+01 4.88e-03 2.20e-02 1.00e+01 54 2.70e+02 1.03e+02 8.32e+02 7.99e-07 1.04e-02 1.32e-02 1.05e+01 4.80e-03 2.16e-02 1.00e+01 55 2.69e+02 1.03e+02 8.30e+02 6.75e-07 1.02e-02 1.30e-02 1.05e+01 4.73e-03 2.12e-02 1.00e+01 56 2.69e+02 1.03e+02 8.28e+02 7.43e-07 9.99e-03 1.28e-02 1.05e+01 4.66e-03 2.09e-02 1.00e+01 57 2.68e+02 1.03e+02 8.26e+02 6.83e-07 9.81e-03 1.26e-02 1.05e+01 4.60e-03 2.06e-02 1.00e+01 58 2.68e+02 1.03e+02 8.24e+02 7.51e-07 9.65e-03 1.25e-02 1.05e+01 4.54e-03 2.02e-02 1.00e+01 59 2.67e+02 1.03e+02 8.22e+02 7.25e-07 9.50e-03 1.23e-02 1.05e+01 4.47e-03 1.99e-02 1.00e+01 60 2.67e+02 1.03e+02 8.20e+02 7.44e-07 9.34e-03 1.21e-02 1.05e+01 4.41e-03 1.96e-02 1.00e+01 61 2.66e+02 1.02e+02 8.18e+02 7.46e-07 9.19e-03 1.20e-02 1.05e+01 4.35e-03 1.93e-02 1.00e+01 62 2.66e+02 1.02e+02 8.17e+02 7.82e-07 9.03e-03 1.18e-02 1.05e+01 4.29e-03 1.90e-02 1.00e+01 63 2.65e+02 1.02e+02 8.15e+02 8.17e-07 8.87e-03 1.17e-02 1.05e+01 4.23e-03 1.88e-02 1.00e+01 64 2.65e+02 1.02e+02 8.13e+02 7.79e-07 8.72e-03 1.15e-02 1.05e+01 4.17e-03 1.85e-02 1.00e+01 65 2.64e+02 1.02e+02 8.11e+02 8.01e-07 8.60e-03 1.14e-02 1.05e+01 4.12e-03 1.82e-02 1.00e+01 66 2.64e+02 1.02e+02 8.10e+02 7.52e-07 8.46e-03 1.13e-02 1.05e+01 4.07e-03 1.80e-02 1.00e+01 67 2.64e+02 1.02e+02 8.08e+02 8.31e-07 8.34e-03 1.11e-02 1.05e+01 4.02e-03 1.77e-02 1.00e+01 68 2.63e+02 1.02e+02 8.07e+02 7.83e-07 8.22e-03 1.10e-02 1.05e+01 3.98e-03 1.75e-02 1.00e+01 69 2.63e+02 1.02e+02 8.05e+02 8.10e-07 8.11e-03 1.09e-02 1.05e+01 3.93e-03 1.72e-02 1.00e+01 70 2.62e+02 1.02e+02 8.04e+02 8.74e-07 8.01e-03 1.08e-02 1.05e+01 3.90e-03 1.70e-02 1.00e+01 71 2.62e+02 1.02e+02 8.02e+02 7.73e-07 7.92e-03 1.08e-02 1.05e+01 3.86e-03 1.68e-02 1.00e+01 72 2.62e+02 1.01e+02 8.01e+02 7.53e-07 7.83e-03 1.07e-02 1.05e+01 3.82e-03 1.66e-02 1.00e+01 73 2.61e+02 1.01e+02 8.00e+02 8.30e-07 7.73e-03 1.06e-02 1.05e+01 3.78e-03 1.64e-02 1.00e+01 74 2.61e+02 1.01e+02 7.99e+02 7.25e-07 7.63e-03 1.05e-02 1.05e+01 3.74e-03 1.63e-02 1.00e+01 75 2.61e+02 1.01e+02 7.97e+02 7.30e-07 7.54e-03 1.04e-02 1.05e+01 3.71e-03 1.61e-02 1.00e+01 76 2.60e+02 1.01e+02 7.96e+02 7.78e-07 7.45e-03 1.03e-02 1.05e+01 3.67e-03 1.59e-02 1.00e+01 77 2.60e+02 1.01e+02 7.95e+02 8.60e-07 7.36e-03 1.01e-02 1.05e+01 3.63e-03 1.57e-02 1.00e+01 78 2.60e+02 1.01e+02 7.94e+02 8.51e-07 7.28e-03 1.01e-02 1.05e+01 3.60e-03 1.56e-02 1.00e+01 79 2.60e+02 1.01e+02 7.93e+02 7.53e-07 7.20e-03 1.00e-02 1.05e+01 3.57e-03 1.54e-02 1.00e+01 80 2.59e+02 1.01e+02 7.92e+02 7.14e-07 7.12e-03 9.93e-03 1.05e+01 3.54e-03 1.52e-02 1.00e+01 81 2.59e+02 1.01e+02 7.91e+02 8.46e-07 7.05e-03 9.86e-03 1.05e+01 3.51e-03 1.51e-02 1.00e+01 82 2.59e+02 1.01e+02 7.90e+02 7.78e-07 6.98e-03 9.77e-03 1.05e+01 3.48e-03 1.49e-02 1.00e+01 83 2.58e+02 1.01e+02 7.89e+02 7.41e-07 6.89e-03 9.68e-03 1.05e+01 3.45e-03 1.48e-02 1.00e+01 84 2.58e+02 1.01e+02 7.88e+02 8.07e-07 6.83e-03 9.56e-03 1.05e+01 3.42e-03 1.46e-02 1.00e+01 85 2.58e+02 1.01e+02 7.87e+02 7.20e-07 6.76e-03 9.48e-03 1.05e+01 3.39e-03 1.45e-02 1.00e+01 86 2.58e+02 1.01e+02 7.86e+02 7.06e-07 6.67e-03 9.39e-03 1.05e+01 3.35e-03 1.43e-02 1.00e+01 87 2.57e+02 1.00e+02 7.85e+02 7.25e-07 6.59e-03 9.32e-03 1.05e+01 3.32e-03 1.42e-02 1.00e+01 88 2.57e+02 1.00e+02 7.84e+02 7.70e-07 6.53e-03 9.26e-03 1.05e+01 3.29e-03 1.40e-02 1.00e+01 89 2.57e+02 1.00e+02 7.83e+02 7.96e-07 6.47e-03 9.21e-03 1.05e+01 3.27e-03 1.39e-02 1.00e+01 90 2.57e+02 1.00e+02 7.83e+02 6.93e-07 6.42e-03 9.16e-03 1.05e+01 3.24e-03 1.38e-02 1.00e+01 91 2.57e+02 1.00e+02 7.82e+02 7.31e-07 6.35e-03 9.11e-03 1.05e+01 3.22e-03 1.36e-02 1.00e+01 92 2.56e+02 1.00e+02 7.81e+02 7.39e-07 6.30e-03 9.01e-03 1.05e+01 3.19e-03 1.35e-02 1.00e+01 93 2.56e+02 1.00e+02 7.80e+02 8.26e-07 6.23e-03 8.96e-03 1.05e+01 3.16e-03 1.34e-02 1.00e+01 94 2.56e+02 1.00e+02 7.79e+02 7.74e-07 6.17e-03 8.90e-03 1.05e+01 3.14e-03 1.33e-02 1.00e+01 95 2.56e+02 1.00e+02 7.78e+02 7.91e-07 6.12e-03 8.86e-03 1.05e+01 3.12e-03 1.31e-02 1.00e+01 96 2.55e+02 9.99e+01 7.78e+02 9.07e-07 6.07e-03 8.76e-03 1.05e+01 3.09e-03 1.30e-02 1.00e+01 97 2.55e+02 9.99e+01 7.77e+02 7.64e-07 6.01e-03 8.70e-03 1.05e+01 3.07e-03 1.29e-02 1.00e+01 98 2.55e+02 9.98e+01 7.76e+02 7.71e-07 5.95e-03 8.66e-03 1.05e+01 3.05e-03 1.28e-02 1.00e+01 99 2.55e+02 9.98e+01 7.75e+02 7.39e-07 5.90e-03 8.61e-03 1.05e+01 3.03e-03 1.27e-02 1.00e+01 100 2.55e+02 9.97e+01 7.75e+02 7.62e-07 5.85e-03 8.55e-03 1.05e+01 3.01e-03 1.26e-02 1.00e+01 101 2.54e+02 9.97e+01 7.74e+02 8.28e-07 5.79e-03 8.49e-03 1.05e+01 2.98e-03 1.24e-02 1.00e+01 102 2.54e+02 9.96e+01 7.73e+02 9.16e-07 5.75e-03 8.43e-03 1.05e+01 2.96e-03 1.23e-02 1.00e+01 103 2.54e+02 9.96e+01 7.73e+02 7.41e-07 5.70e-03 8.38e-03 1.05e+01 2.94e-03 1.22e-02 1.00e+01 104 2.54e+02 9.95e+01 7.72e+02 7.59e-07 5.65e-03 8.33e-03 1.05e+01 2.92e-03 1.21e-02 1.00e+01 105 2.54e+02 9.95e+01 7.71e+02 7.95e-07 5.60e-03 8.25e-03 1.05e+01 2.90e-03 1.20e-02 1.00e+01 106 2.54e+02 9.95e+01 7.71e+02 7.50e-07 5.54e-03 8.18e-03 1.05e+01 2.87e-03 1.19e-02 1.00e+01 107 2.53e+02 9.94e+01 7.70e+02 7.64e-07 5.50e-03 8.13e-03 1.05e+01 2.85e-03 1.18e-02 1.00e+01 108 2.53e+02 9.94e+01 7.69e+02 8.46e-07 5.46e-03 8.09e-03 1.05e+01 2.83e-03 1.17e-02 1.00e+01 109 2.53e+02 9.93e+01 7.69e+02 7.65e-07 5.41e-03 8.05e-03 1.05e+01 2.82e-03 1.16e-02 1.00e+01 110 2.53e+02 9.93e+01 7.68e+02 8.06e-07 5.37e-03 7.97e-03 1.05e+01 2.79e-03 1.15e-02 1.00e+01 111 2.53e+02 9.93e+01 7.67e+02 6.74e-07 5.32e-03 7.91e-03 1.05e+01 2.77e-03 1.14e-02 1.00e+01 112 2.53e+02 9.92e+01 7.67e+02 7.78e-07 5.27e-03 7.85e-03 1.05e+01 2.75e-03 1.13e-02 1.00e+01 113 2.52e+02 9.92e+01 7.66e+02 8.74e-07 5.23e-03 7.80e-03 1.05e+01 2.73e-03 1.12e-02 1.00e+01 114 2.52e+02 9.91e+01 7.65e+02 8.27e-07 5.18e-03 7.76e-03 1.05e+01 2.71e-03 1.11e-02 1.00e+01 115 2.52e+02 9.91e+01 7.65e+02 8.17e-07 5.14e-03 7.70e-03 1.05e+01 2.69e-03 1.10e-02 1.00e+01 116 2.52e+02 9.91e+01 7.64e+02 7.01e-07 5.10e-03 7.64e-03 1.05e+01 2.67e-03 1.09e-02 1.00e+01 117 2.52e+02 9.90e+01 7.64e+02 7.53e-07 5.06e-03 7.59e-03 1.05e+01 2.65e-03 1.08e-02 1.00e+01 118 2.52e+02 9.90e+01 7.63e+02 7.94e-07 5.01e-03 7.52e-03 1.05e+01 2.63e-03 1.07e-02 1.00e+01 119 2.51e+02 9.90e+01 7.62e+02 7.71e-07 4.96e-03 7.46e-03 1.05e+01 2.61e-03 1.06e-02 1.00e+01 120 2.51e+02 9.89e+01 7.62e+02 7.33e-07 4.91e-03 7.41e-03 1.05e+01 2.59e-03 1.05e-02 1.00e+01 121 2.51e+02 9.89e+01 7.61e+02 7.67e-07 4.87e-03 7.38e-03 1.05e+01 2.57e-03 1.05e-02 1.00e+01 122 2.51e+02 9.89e+01 7.61e+02 7.88e-07 4.84e-03 7.34e-03 1.05e+01 2.56e-03 1.04e-02 1.00e+01 123 2.51e+02 9.88e+01 7.60e+02 7.46e-07 4.80e-03 7.30e-03 1.05e+01 2.54e-03 1.03e-02 1.00e+01 124 2.51e+02 9.88e+01 7.60e+02 8.12e-07 4.77e-03 7.27e-03 1.05e+01 2.53e-03 1.02e-02 1.00e+01 125 2.51e+02 9.88e+01 7.59e+02 7.43e-07 4.74e-03 7.22e-03 1.05e+01 2.51e-03 1.01e-02 1.00e+01 126 2.50e+02 9.87e+01 7.59e+02 8.22e-07 4.70e-03 7.18e-03 1.05e+01 2.49e-03 1.01e-02 1.00e+01 127 2.50e+02 9.87e+01 7.58e+02 7.10e-07 4.66e-03 7.13e-03 1.05e+01 2.47e-03 1.00e-02 1.00e+01 128 2.50e+02 9.87e+01 7.58e+02 8.11e-07 4.63e-03 7.09e-03 1.05e+01 2.46e-03 9.92e-03 1.00e+01 129 2.50e+02 9.87e+01 7.57e+02 8.80e-07 4.59e-03 7.06e-03 1.05e+01 2.44e-03 9.84e-03 1.00e+01 130 2.50e+02 9.86e+01 7.57e+02 7.54e-07 4.57e-03 7.01e-03 1.05e+01 2.43e-03 9.77e-03 1.00e+01 131 2.50e+02 9.86e+01 7.56e+02 7.89e-07 4.54e-03 6.98e-03 1.05e+01 2.41e-03 9.70e-03 1.00e+01 132 2.50e+02 9.86e+01 7.56e+02 6.91e-07 4.51e-03 6.94e-03 1.05e+01 2.40e-03 9.63e-03 1.00e+01 133 2.50e+02 9.85e+01 7.55e+02 8.30e-07 4.47e-03 6.91e-03 1.05e+01 2.38e-03 9.56e-03 1.00e+01 134 2.49e+02 9.85e+01 7.55e+02 7.71e-07 4.45e-03 6.87e-03 1.05e+01 2.37e-03 9.49e-03 1.00e+01 135 2.49e+02 9.85e+01 7.54e+02 7.24e-07 4.42e-03 6.86e-03 1.05e+01 2.36e-03 9.43e-03 1.00e+01 136 2.49e+02 9.84e+01 7.54e+02 8.42e-07 4.40e-03 6.83e-03 1.05e+01 2.35e-03 9.38e-03 1.00e+01 137 2.49e+02 9.84e+01 7.53e+02 7.64e-07 4.37e-03 6.81e-03 1.05e+01 2.34e-03 9.32e-03 1.00e+01 138 2.49e+02 9.84e+01 7.53e+02 6.97e-07 4.35e-03 6.80e-03 1.05e+01 2.33e-03 9.28e-03 1.00e+01 139 2.49e+02 9.84e+01 7.52e+02 7.80e-07 4.33e-03 6.77e-03 1.05e+01 2.32e-03 9.23e-03 1.00e+01 140 2.49e+02 9.83e+01 7.52e+02 6.93e-07 4.30e-03 6.71e-03 1.05e+01 2.31e-03 9.19e-03 1.00e+01 141 2.49e+02 9.83e+01 7.52e+02 7.07e-07 4.27e-03 6.68e-03 1.05e+01 2.30e-03 9.14e-03 1.00e+01 142 2.49e+02 9.83e+01 7.51e+02 8.04e-07 4.24e-03 6.64e-03 1.05e+01 2.28e-03 9.09e-03 1.00e+01 143 2.48e+02 9.83e+01 7.51e+02 7.92e-07 4.22e-03 6.61e-03 1.05e+01 2.27e-03 9.04e-03 1.00e+01 144 2.48e+02 9.82e+01 7.51e+02 7.50e-07 4.19e-03 6.56e-03 1.05e+01 2.26e-03 8.98e-03 1.00e+01 145 2.48e+02 9.82e+01 7.50e+02 7.24e-07 4.17e-03 6.53e-03 1.05e+01 2.25e-03 8.93e-03 1.00e+01 146 2.48e+02 9.82e+01 7.50e+02 7.51e-07 4.15e-03 6.51e-03 1.05e+01 2.24e-03 8.88e-03 1.00e+01 147 2.48e+02 9.82e+01 7.50e+02 8.02e-07 4.12e-03 6.49e-03 1.05e+01 2.23e-03 8.84e-03 1.00e+01 148 2.48e+02 9.81e+01 7.49e+02 8.08e-07 4.10e-03 6.47e-03 1.05e+01 2.22e-03 8.80e-03 1.00e+01 149 2.48e+02 9.81e+01 7.49e+02 7.94e-07 4.07e-03 6.43e-03 1.05e+01 2.21e-03 8.75e-03 1.00e+01 150 2.48e+02 9.81e+01 7.48e+02 8.39e-07 4.04e-03 6.39e-03 1.05e+01 2.20e-03 8.71e-03 1.00e+01 151 2.48e+02 9.81e+01 7.48e+02 7.13e-07 4.02e-03 6.35e-03 1.05e+01 2.19e-03 8.67e-03 1.00e+01 152 2.48e+02 9.80e+01 7.48e+02 7.97e-07 4.00e-03 6.31e-03 1.05e+01 2.18e-03 8.62e-03 1.00e+01 153 2.47e+02 9.80e+01 7.47e+02 8.00e-07 3.98e-03 6.29e-03 1.05e+01 2.17e-03 8.57e-03 1.00e+01 154 2.47e+02 9.80e+01 7.47e+02 8.60e-07 3.95e-03 6.24e-03 1.05e+01 2.16e-03 8.53e-03 1.00e+01 155 2.47e+02 9.80e+01 7.47e+02 8.78e-07 3.93e-03 6.20e-03 1.05e+01 2.15e-03 8.48e-03 1.00e+01 156 2.47e+02 9.79e+01 7.46e+02 6.94e-07 3.90e-03 6.17e-03 1.05e+01 2.14e-03 8.42e-03 1.00e+01 157 2.47e+02 9.79e+01 7.46e+02 8.05e-07 3.88e-03 6.15e-03 1.05e+01 2.13e-03 8.37e-03 1.00e+01 158 2.47e+02 9.79e+01 7.46e+02 6.70e-07 3.86e-03 6.12e-03 1.05e+01 2.12e-03 8.32e-03 1.00e+01 159 2.47e+02 9.79e+01 7.45e+02 7.20e-07 3.83e-03 6.08e-03 1.05e+01 2.10e-03 8.28e-03 1.00e+01 160 2.47e+02 9.79e+01 7.45e+02 8.31e-07 3.80e-03 6.06e-03 1.05e+01 2.09e-03 8.23e-03 1.00e+01 161 2.47e+02 9.78e+01 7.44e+02 6.81e-07 3.79e-03 6.05e-03 1.05e+01 2.09e-03 8.18e-03 1.00e+01 162 2.47e+02 9.78e+01 7.44e+02 8.08e-07 3.77e-03 6.02e-03 1.05e+01 2.08e-03 8.14e-03 1.00e+01 163 2.47e+02 9.78e+01 7.44e+02 8.48e-07 3.75e-03 5.99e-03 1.05e+01 2.07e-03 8.10e-03 1.00e+01 164 2.46e+02 9.78e+01 7.43e+02 7.86e-07 3.73e-03 5.98e-03 1.05e+01 2.06e-03 8.07e-03 1.00e+01 165 2.46e+02 9.77e+01 7.43e+02 7.70e-07 3.72e-03 5.95e-03 1.05e+01 2.05e-03 8.03e-03 1.00e+01 166 2.46e+02 9.77e+01 7.43e+02 7.91e-07 3.70e-03 5.93e-03 1.05e+01 2.05e-03 8.00e-03 1.00e+01 167 2.46e+02 9.77e+01 7.43e+02 7.76e-07 3.68e-03 5.91e-03 1.05e+01 2.04e-03 7.97e-03 1.00e+01 168 2.46e+02 9.77e+01 7.42e+02 8.24e-07 3.66e-03 5.88e-03 1.05e+01 2.03e-03 7.93e-03 1.00e+01 169 2.46e+02 9.77e+01 7.42e+02 7.34e-07 3.65e-03 5.86e-03 1.05e+01 2.02e-03 7.91e-03 1.00e+01 170 2.46e+02 9.76e+01 7.42e+02 7.32e-07 3.62e-03 5.83e-03 1.05e+01 2.01e-03 7.88e-03 1.00e+01 171 2.46e+02 9.76e+01 7.42e+02 7.78e-07 3.60e-03 5.79e-03 1.05e+01 2.00e-03 7.84e-03 1.00e+01 172 2.46e+02 9.76e+01 7.41e+02 7.27e-07 3.58e-03 5.73e-03 1.05e+01 1.99e-03 7.80e-03 1.00e+01 173 2.46e+02 9.76e+01 7.41e+02 7.29e-07 3.56e-03 5.71e-03 1.05e+01 1.98e-03 7.76e-03 1.00e+01 174 2.46e+02 9.76e+01 7.41e+02 7.95e-07 3.54e-03 5.68e-03 1.05e+01 1.98e-03 7.72e-03 1.00e+01 175 2.46e+02 9.75e+01 7.41e+02 7.79e-07 3.52e-03 5.66e-03 1.05e+01 1.97e-03 7.68e-03 1.00e+01 176 2.46e+02 9.75e+01 7.40e+02 8.39e-07 3.50e-03 5.63e-03 1.05e+01 1.96e-03 7.63e-03 1.00e+01 177 2.45e+02 9.75e+01 7.40e+02 7.86e-07 3.48e-03 5.59e-03 1.05e+01 1.95e-03 7.59e-03 1.00e+01 178 2.45e+02 9.75e+01 7.40e+02 7.89e-07 3.46e-03 5.52e-03 1.05e+01 1.93e-03 7.54e-03 1.00e+01 179 2.45e+02 9.75e+01 7.39e+02 7.27e-07 3.43e-03 5.49e-03 1.05e+01 1.92e-03 7.49e-03 1.00e+01 180 2.45e+02 9.74e+01 7.39e+02 7.83e-07 3.41e-03 5.47e-03 1.05e+01 1.91e-03 7.44e-03 1.00e+01 181 2.45e+02 9.74e+01 7.39e+02 7.75e-07 3.39e-03 5.45e-03 1.05e+01 1.90e-03 7.40e-03 1.00e+01 182 2.45e+02 9.74e+01 7.39e+02 8.23e-07 3.37e-03 5.44e-03 1.05e+01 1.89e-03 7.35e-03 1.00e+01 183 2.45e+02 9.74e+01 7.38e+02 9.05e-07 3.35e-03 5.41e-03 1.05e+01 1.88e-03 7.31e-03 1.00e+01 184 2.45e+02 9.74e+01 7.38e+02 7.81e-07 3.33e-03 5.38e-03 1.05e+01 1.87e-03 7.27e-03 1.00e+01 185 2.45e+02 9.73e+01 7.38e+02 8.27e-07 3.31e-03 5.36e-03 1.05e+01 1.86e-03 7.23e-03 1.00e+01 186 2.45e+02 9.73e+01 7.37e+02 7.69e-07 3.29e-03 5.34e-03 1.05e+01 1.85e-03 7.19e-03 1.00e+01 187 2.45e+02 9.73e+01 7.37e+02 8.55e-07 3.27e-03 5.31e-03 1.05e+01 1.84e-03 7.16e-03 1.00e+01 188 2.45e+02 9.73e+01 7.37e+02 7.57e-07 3.26e-03 5.29e-03 1.05e+01 1.84e-03 7.12e-03 1.00e+01 189 2.45e+02 9.73e+01 7.37e+02 8.13e-07 3.25e-03 5.28e-03 1.05e+01 1.83e-03 7.09e-03 1.00e+01 190 2.45e+02 9.73e+01 7.36e+02 7.39e-07 3.23e-03 5.25e-03 1.05e+01 1.82e-03 7.06e-03 1.00e+01 191 2.44e+02 9.72e+01 7.36e+02 7.58e-07 3.22e-03 5.23e-03 1.05e+01 1.82e-03 7.02e-03 1.00e+01 192 2.44e+02 9.72e+01 7.36e+02 7.06e-07 3.20e-03 5.21e-03 1.05e+01 1.81e-03 6.99e-03 1.00e+01 193 2.44e+02 9.72e+01 7.36e+02 7.89e-07 3.19e-03 5.19e-03 1.05e+01 1.80e-03 6.96e-03 1.00e+01 194 2.44e+02 9.72e+01 7.35e+02 6.93e-07 3.17e-03 5.15e-03 1.05e+01 1.79e-03 6.92e-03 1.00e+01 195 2.44e+02 9.72e+01 7.35e+02 8.34e-07 3.15e-03 5.13e-03 1.05e+01 1.78e-03 6.89e-03 1.00e+01 196 2.44e+02 9.72e+01 7.35e+02 7.84e-07 3.14e-03 5.10e-03 1.05e+01 1.77e-03 6.85e-03 1.00e+01 197 2.44e+02 9.71e+01 7.35e+02 8.32e-07 3.12e-03 5.08e-03 1.05e+01 1.77e-03 6.82e-03 1.00e+01 198 2.44e+02 9.71e+01 7.34e+02 8.71e-07 3.10e-03 5.07e-03 1.05e+01 1.76e-03 6.78e-03 1.00e+01 199 2.44e+02 9.71e+01 7.34e+02 7.28e-07 3.08e-03 5.03e-03 1.05e+01 1.75e-03 6.75e-03 1.00e+01 -------------------------------------------------------------------------------------------------------- ConvBPDNDictLearn solve time: 86.53s
Display initial and final dictionaries.
D1 = D1.squeeze()
fig = plot.figure(figsize=(14, 7))
plot.subplot(1, 2, 1)
plot.imview(util.tiledict(D0), title='D0', fig=fig)
plot.subplot(1, 2, 2)
plot.imview(util.tiledict(D1), title='D1', fig=fig)
fig.show()
Get iterations statistics from solver object and plot functional value, ADMM primary and dual residuals, and automatically adjusted ADMM penalty parameter against the iteration number.
its = d.getitstat()
fig = plot.figure(figsize=(20, 5))
plot.subplot(1, 3, 1)
plot.plot(its.ObjFun, xlbl='Iterations', ylbl='Functional', fig=fig)
plot.subplot(1, 3, 2)
plot.plot(np.vstack((its.XPrRsdl, its.XDlRsdl, its.DPrRsdl,
its.DDlRsdl)).T, ptyp='semilogy', xlbl='Iterations',
ylbl='Residual', lgnd=['X Primal', 'X Dual', 'D Primal', 'D Dual'],
fig=fig)
plot.subplot(1, 3, 3)
plot.plot(np.vstack((its.XRho, its.DRho)).T, xlbl='Iterations',
ylbl='Penalty Parameter', ptyp='semilogy',
lgnd=['$\\rho_X$', '$\\rho_D$'], fig=fig)
fig.show()