The sbl-sandbox sources are a nice padded area in which we are safe to play around with methods in sparse Bayesian learning. They are essentially a set of lightweight solvers paired with some python code that generates problem instances of the "k spikes measured with or without noise by an i.i.d. Gaussian random matrix" variety.
These sources support the following manuscript:
Worley, B., Scalable mean-field sparse Bayesian learning, IEEE Transactions on Signal Processing, 2019, 67(24): 6314--6326.
Bear with me, compilation is a bit non-standard.
To compile a source file, a problem instance, e.g. src/instdef.hh
, is
paired with the core instance header src/inst.hh
and a solver,
e.g. src/gs.cc
. Compiling would go a bit something like this:
g++ -std=c++14 -O3 -I. -I/path/to/eigen3 \
-include src/instdef.hh -include src/inst.hh \
src/gs.cc -o gs
Normally, manual compilation isn't necessary. The compilations needed
to perform all experiments are managed by make.py
using
doit.
The following commands are needed before running make.py
on EC2:
sudo yum -y groupinstall "Development Tools"
sudo amazon-linux-extras install python3
sudo pip3 install --upgrade pip
sudo pip3 install doit
Then, clone this repository and run:
git clone git@github.com:geekysuavo/sbl-sandbox.git
cd sbl-sandbox
./make.py -n 96
All sources in this repository are released under the MIT license. See the LICENSE.md file for the complete license terms.