Giter VIP home page Giter VIP logo

dnest5's Introduction

DNest5

(c) 2020 Brendon J. Brewer.

Please Clone Recursively

$ git clone --recursive https://github.com/eggplantbren/DNest5

This will pull in a submodule that I'm using.

LICENCE

GNU General Public License version 3.

Dependencies

  • Boost
  • Python 3 with NumPy, matplotlib, apsw
  • SQLite3
  • yaml-cpp

Installation

To compile DNest5, run the build script. This generates a Makefile and then runs make to compile everything.

$ ./build.py

By default, this compiles the StraightLine example from DNest4. The two executable files created are main, which does the sampling, and postprocess, which creates posterior samples and computes the marginal likelihood.

Running and Outputs

First run main, then run showresults.py in Python. Showresults calls postprocess, so you don't need to run postprocess on its own. It is safe to run showresults.py while main is still running.

Compiling a Different Model

Edit ModelType.hpp and change the #include and using lines to point to a different model. Then run ./build.py again.

At this time, all example models in the Example directory are implemented using inheritance from the UniformModel class template. These follow the convention where the exploration is done in terms of a coordinate system that makes the prior Uniform(0, 1) for every coordinate. The user/model writer has to write the member functions us_to_params to convert from the us (Uniform(0, 1) parameters) to the actual parameters, and log_likelihood in order to evaluate the likelihood function.

Specifying the Options

The configuration file options.yaml plays the role of DNest4's OPTIONS and its command line arguments.

Outputs

All outputs are written to the output directory. The files are:

  • dnest5.db: An SQLite3 database of output, similar to DNest4's sample.txt, sample_info.txt, and levels.txt, but combined into one binary file.
  • figure?.pdf: Figures exported by showresults.py.
  • posterior.db: An SQLite3 database of posterior samples. Does not store the samples themselves, but rather refers back to the appropriate rows in dnest5.db.
  • posterior.csv: CSV file of posterior samples.
  • results.yaml: YAML file (plain text) with marginal likelihood values and related things.

dnest5's People

Contributors

eggplantbren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

qacwnfq

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.