Neural Networks

nn is an experimental module to train Neural Networks in PyTorch that find the sparsest solution of \(P_0^\epsilon\) problem.

PyTorch implementation of AutoEncoders that form sparse representations.

MatchingPursuit(in_features, out_features[, ...])

Basis Matching Pursuit (ADMM) AutoEncoder neural network for sparse coding.

LISTA(in_features, out_features[, n_folds, ...])

Learned Iterative Shrinkage-Thresholding Algorithm [Rf8e51fb15445-1] AutoEncoder neural network for sparse coding.

Basis Pursuit (BP) solvers (refer to Relaxation algorithms) PyTorch API.

basis_pursuit_admm(A, b, lambd[, M_inv, ...])

Basis Pursuit solver for the \(Q_1^\epsilon\) problem

Matching Pursuit Trainers.

TrainMatchingPursuit(model, criterion, ...)

Train MatchingPursuit or LISTA AutoEncoder with LossPenalty loss function, defined as

TrainLISTA(model, model_reference, ...[, ...])

Train LISTA with the original loss, defined in the paper as MSE between the latent vector Z (forward pass of LISTA NN) and the best possible latent vector Z*, obtained by running Basis Pursuit ADMM (shows better results that using original ISTA as the ground truth) on input X.

TestMatchingPursuit(model, criterion, ...[, ...])

Test Matching Pursuit with the fixed Softshrink threshold (embedded in a model) and trained weights.

TestMatchingPursuitParameters(model, ...[, ...])

Swipe through a range of Softshrink threshold parameters bmp_params_range and show the best one.