Skip to content

Releases: probmods/webppl

v0.9.15

01 Apr 09:30
Compare
Choose a tag to compare

Bug Fixes

v0.9.14

11 Feb 09:40
Compare
Choose a tag to compare

New Features

  • Added a log normal distribution. (This does not yet support reparameterisation.)
  • Extended inference callbacks. (#919)

Bug Fixes

v0.9.13

07 Aug 08:09
Compare
Choose a tag to compare

New Features

  • Annealed Importance Sampling (docs)

v0.9.10

12 Sep 03:09
Compare
Choose a tag to compare

New Features

  • Node.js core modules can now be imported using the --require command line argument. (docs)
  • Added support for constructing kernel density estimates from the marginal returned by sampling based inference methods. (docs)
  • Add the Mixture distribution. (docs)

Enhancements

  • Improved argument checks for sample and distribution constructors.
  • Documentation updates.

v0.9.9

26 Jun 08:30
Compare
Choose a tag to compare

New Features

  • Add dp.cache. This supersedes the webppl-dp package.

  • Merge package webppl-nn into core WebPPL. See the new docs for details.

  • MultivariateGaussian now supports the reparameterization trick.

v0.9.8

08 Jun 19:23
Compare
Choose a tag to compare

Breaking Changes

Optimize no longer supports the checkpointParams option

See the new
file backed parameter store
for similar functionality.

Parameter serialization format

The format in which parameters are serialized has changed. As a
result, parameters serialized with 0.9.7 and earlier cannot be loaded
directly into 0.9.8. As a work-around, the following script can be
used to convert old parameters into the new format:

Node v4 is no longer supported

New Features

Add Laplace distribution primitives

More flexible parameter initialization

The param method now supports an init option which allows fine
grained control over the initialization of parameters.

Automatic selection of inference method

When no method is specified when calling Infer, heuristics are
used to automatically select a reasonable method for the current
model.

Add support for weight decay

Add onStep callback to Optimize

Add forward and forwardGuide methods

These provide a convenient way to generate a single sample from the
model or guide.

Add file backed parameter store

Add official support for command line arguments

Allow the ps parameter to be omitted from Categorical

Warn on superfluous options

Infer and Optimize now issue a warning when passed superfluous
options.

Bug Fixes

Fix Poisson sampler

Correctly optimize parameters nested within Enumerate

v0.9.7

01 Feb 05:15
Compare
Choose a tag to compare

New Features

Distribution arg checks

Distribution arguments are now checked at run time. For example, trying to create a Bernoulli distribution with success probability of -1 will now produce the following error:

Bernoulli({p: -1});
// => Error: Parameter "p" should be of type "real [0, 1]".

The docs include a list of parameters and the values they can take for each distribution.

Built-in functions

Added:

Breaking Changes

Switch to lodash

The global variable _ is now bound to lodash rather than underscore in WebPPL programs. Many of the functions available as properties of _ will continue to work as before, but there are some breaking changes. This (non-exhaustive) list of differences between the two describes many of the changes. One change it doesn't mention is that _.object is no longer available, though _.fromPairs offers the same functionality.

Global parameter set

Optimize and the Infer methods forward and SMC now implicitly operate on a global set of parameters, rather than on parameters passed via an argument.

Guide thunks

sample now expects guide distributions to be wrapped in a function of zero arguments. For example:

sample(dist, {guide: guideDist})

should now be written:

sample(dist, {guide: function() { return guideDist; }});

See the docs for more.

SMC ignoreGuide option

The ignoreGuide option of SMC has been replaced with a new importance option. See the docs for details of this new option.