Online CP-Dictionary Learning Algorithm
Generalizes CP-decomposition for tensors, dictionary learning algorithm for vector-valued signals, and Online Nonnegative Matrix Factorization.
These codes are based on my paper below:
- Christopher Strohmeier, Hanbaek Lyu, and Deanna Needell, “Online Dictionary Learning for Tensor Factorization” (submitted. Preprint available upon request.)
- src/ocpdl.py : main Online CPDL algorithm implementation
- src/BCD-DR.py : implementation for Alternatiing Least Squares and Multiplicative Update for NCPD. Original repo: https://github.com/HanbaekLyu/BCD-DR
- OCPDL_benchmark.py : benchmark on NCPD against ALS and MU (generates benchmark figures in the paper)
- image_reconstruction_OCPDL.py : Applicatoin codes for CP-dictionary learning for color images
- video_reconstruction_OCPDL.py: Applicatoin codes for CP-dictionary learning for color videos
- IMG_CP_reconstruction_main.py: Main script for image application (example run on Van Gogh's "Cafe terrace at night")
- VIDEO_CP_reconstruction_main.py: Main script for video application (example run on mice brain activity video)
This project is licensed under the MIT License - see the LICENSE.md file for details