title | subtitle |
---|---|
grample README |
Sampling for Probabilistic Graphical Models |
This software package is designed to read Markov networks and perform marginal estimation using Gibbs sampling. The main motivation for creating Yet Another MCMC software package was research: this is the experimental implementation of Adaptive Rao-Blackwellisation as reported in Adaptive Rao-Blackwellisation in Gibbs Sampling for Probabilistic Graphical Models
This code is licensed under the MIT license: see LICENSE
for details. If you
use this code in a published work, please cite the paper
here:
@inproceedings{AdaptiveRBGibbs,
title={Adaptive Rao-Blackwellisation in Gibbs Sampling for Probabilistic Graphical Models},
author={Kelly, Craig and Sarkhel, Somdeb and Venugopal, Deepak},
booktitle={The 22nd International Conference on Artificial Intelligence and Statistics},
editor = {Chaudhuri, Kamalika and Sugiyama, Masashi},
pages={2907--2915},
year={2019},
series = {Proceedings of Machine Learning Research},
}
There's no real installion. Use go get -u github.com/CraigKelly/grample
to
get the latest code. From inside the grample directory, run make
to build.
Then you can run ./grample -h
to get command line help. You can see some
examples in ./script/experiment
If you want to grample as a library, that's fairly easy. There aren't any
directions right now, but see ./cmd/root.go
for examples. That's our main
command line implementation, so you can get a good idea of how to use the
sampler package.
As of this writing, this code has only been tested with Go 1.17.
This repo now uses the standard go mod
commands for dependencies. Note that
this was ported from using dep
for dependency management, and we have
removed the vendor dir. The short story is that we don't have many
dependencies, but we are using github.com/spf13/cobra
to manage the
command line and github.com/stretchr/testify
for unit test assertions.
Use the Makefile, which delegates to scripts located in ./scripts
.