Implementation of sparse coding in TensorFlow
This repository implements the following sparse solvers
ADAM: Kingma, Diederik, and Jimmy Ba. "Adam: A method for stochastic optimization." arXiv preprint arXiv:1412.6980 (2014). Minimizes squared loss with sparse regularizer
ISTA: Chambolle, Antonin, et al. "Nonlinear wavelet image processing: variational problems, compression, and noise removal through wavelet shrinkage." IEEE Transactions on Image Processing 7.3 (1998): 319-335.
FISTA: Beck, Amir, and Marc Teboulle. "A fast iterative shrinkage-thresholding algorithm for linear inverse problems." SIAM journal on imaging sciences 2.1 (2009): 183-202.
LCA: Rozell, Christopher, et al. "Locally competitive algorithms for sparse approximation." 2007 IEEE International Conference on Image Processing. Vol. 4. IEEE, 2007.
LCA_ADAM: Modification of LCA to use ADAM optimizer for sparse approxmation as opposed to standard gradient descent with LCA.
Prerequisites: TensorFlow Python 2.7 OpenPV (using pvp files for file storage, be sure to add </path/to/OpenPV/python> to your python path)
Directories: dataObj: Directory containing objects for reading data plots: Directory containing plotting tools tf: Directory containing tensorflow model building and running runs: Directory containing scripts for running models. Contains parameters. Must be ran from outermost directory