Modules cbpdndl, cbpdndlmd, prlcnscdl, and onlinecdl¶
These modules includes classes cbpdndl.ConvBPDNDictLearn
, prlcnscdl.ConvBPDNDictLearn_Consensus
, and onlinecdl.OnlineConvBPDNDictLearn
for solving the problem
where \(C\) is the feasible set consisting of filters with unit norm and constrained support.
In addition classes cbpdndlmd.ConvBPDNMaskDictLearn
, prlcnscdl.ConvBPDNMaskDcplDictLearn_Consensus
, and onlinecdl.OnlineConvBPDNMaskDictLearn
support solving
the problem
where \(W\) is a mask array.
On a multi-core host, prlcnscdl.ConvBPDNDictLearn_Consensus
and prlcnscdl.ConvBPDNMaskDcplDictLearn_Consensus
can be
substantially faster than cbpdndl.ConvBPDNDictLearn
and
cbpdndlmd.ConvBPDNMaskDictLearn
respectively. For large training datasets, the online CDL classes onlinecdl.OnlineConvBPDNDictLearn
and onlinecdl.OnlineConvBPDNMaskDictLearn
may be the best option, particularly for use on a host without very large amounts of main memory, and with a GPU (see sporco.cuda package).
Usage examples are available.