https://github.com/giuse/jsvq
Java code for Sparse Vector Quantization
https://github.com/giuse/jsvq
Last synced: 4 months ago
JSON representation
Java code for Sparse Vector Quantization
- Host: GitHub
- URL: https://github.com/giuse/jsvq
- Owner: giuse
- License: mit
- Created: 2014-12-20T22:37:39.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-01-01T18:25:29.000Z (over 11 years ago)
- Last Synced: 2025-10-10T08:40:51.106Z (9 months ago)
- Language: Java
- Size: 367 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Java implementation of Sparse Vector Quantization
Just a quick version of VQ in Java tested in isolation, to be imported in another project.
I want it to use Sparse Code rules to train the centroids and to code inputs.
The objective is Compressed Sensing, with online training to retain trace of what passes through the compressor.
Stay tuned.
### SVQ Autotrain notes
USE CASE: an individual codes images with SVQ. SVQ holds a unique TrainingSet, which in turn differenciates the images coming from different individuals, even in parallel. Each time an image gets coded, the SVQ also tries to add it to the TS. Only the `SVQ.nImgsPerImport` images with poorest reconstruction (lowest best-similarity against the set of centroids) per each individual are kept. When a population evaluation finishes, a call to `flush()` returns all the images added so far by all individuals (i.e. up to `nImgsPerImport*popsize` images per generation), and resets the state of the training set for the next generation. At this point, the SVQ will be trained on these images, and is ready for the next generation.