Skip to content

Releases: blei-lab/edward

1.2.0

16 Jan 12:59
Compare
Choose a tag to compare

Documentation

Miscellaneous

  • copy is disabled for Queue operations (#384).
  • All VariationalInference methods must use build_loss_and_gradients (#385).
  • Logging is improved for VariationalInference (#337).
  • Fixed logging issue during inference (#391).
  • Fixed copy function to work with lists of RandomVariable (#401).
  • Fixed bug with Theano NameError during inference (#395).

Acknowledgements

We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.

1.1.6

13 Dec 06:24
Compare
Choose a tag to compare
  • TensorFlow v0.12.0rc0 and v0.12.0rc1 broke compatibility with Edward (see #315 for more details). For now, users are recommended to use v0.11.0.
  • A bug with KLqp using the score function gradient estimator is fixed (#373).

1.1.5

16 Nov 03:25
Compare
Choose a tag to compare

Models

  • RandomVariables now accept an optional value argument, enabling use of random variables that don't currently have sampling such as Poisson (#326).
  • Documentation on model compositionality is added. [Webpage]

Inference

  • Inference compositionality is added, enabling algorithms such as Expectation-Maximization and message passing (#330). [Webpage]
  • Data subsampling is added, enabling proper local and global variable scaling for stochastic optimization (#327). [Webpage]
  • Documentation on inference classes is added. [Webpage]
  • VariationalInference has new defaults for a TensorFlow variable list as argument (#336).
  • Type and shape checking is improved during __init__ of Inference.

Miscellaneous

  • Fixed an issue where a new Div node is created every Monte Carlo update (#318).
  • Travis build is now functioning properly (#324).
  • Coveralls is now functioning properly (#342).
  • tf.placeholder can now be used instead of ed.placeholder.
  • Website tutorials, documentation, and API are generally more polished.
  • Fixed an issue where computation was incorrectly shared among inferences (#348).
  • scipy is now an optional rather than mandatory dependency (#344).

Deprecated Features

NOTE: Several features in Edward are now deprecated (#344):

  • model wrappers, including PythonModel, PyMC3Model, and StanModel—in favor of Edward's native language;
  • the edward.stats module—in favor of random variables in edward.models;
  • MFVI—in favor of KLqp;
  • ed.placeholder—in favor of TensorFlow's tf.placeholder.

Edward will continue their support for one or two more versions. They will be removed in some future release.

Acknowledgements

We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.

1.1.4

07 Nov 03:20
Compare
Choose a tag to compare
  • Small miscellaneous bug fixes.
  • Website's API and documentation pages are overhauled.
  • A white paper for Edward is released [arXiv:1610.09787].

1.1.3

03 Oct 03:58
Compare
Choose a tag to compare

Models

  • New random variables and methods are added (#256, #274). For example, random variables such as Mixture, QuantizedDistribution, WishartCholesky, and methods such as survival_function().
  • Random variables and methods are now automatically generated from tf.contrib.distributions (#276). Edward random variables are minimal and adapt to the TensorFlow version.

Inference

Inference

  • The API is generalized to enable more fine-grained control (#253, #259, #260).

Monte Carlo

  • Significant infrastructure for Monte Carlo is added (#254, #255). This makes it easy to develop new Monte Carlo methods.
  • Metropolis-Hastings is implemented (#255)
  • Hamiltonian Monte Carlo is implemented (#269).
  • Stochastic gradient Langevin dynamics is implemented (#272).

Variational inference

  • Black box-style methods are refactored internally (#249).

Documentation

  • The website tutorials are placed in a directory and have clean links (#263, #264).
  • Initial progress is made on iPython notebook versions of the tutorials (#261).
  • The website API is revamped (#268). Everything is now LaTeX-sourced, and the Delving In page is moved to the frontpage of the API.

Miscellaneous

  • Printing behavior of random variables is changed (#276).
  • edward.criticisms is its own subpackage (#258).
  • The TensorFlow dependency is now >=0.11.0rc0 (#274).

Acknowledgements

We are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.

1.1.2

23 Sep 23:14
Compare
Choose a tag to compare

Functionality

  • A new modeling language is added, which exposes model structure to the user. This enables development of both model-specific and generic inference algorithms (#239).
  • All of inference and criticism is updated to support the new language and also be backward-compatible with the model wrappers (#239).

Documentation

  • All of the website is updated to reflect the new modeling language (#252).
  • Several existing tutorials now use the modeling language instead of a model wrapper (#252).

Examples

Miscellaneous

  • The TensorFlow dependency is now >=0.10.0.
  • Momentum optimizer argument is fixed (#246).

1.1.1

30 Aug 02:13
Compare
Choose a tag to compare

Functionality

  • The API for inference and criticism is changed. It is a more intuitive interface that allows for multiple sets of latent variables (#192).
  • The API for variational models is changed (#237). The user must explicitly define the parameters that he or she wishes to train; this allows for more flexibility in how to initialize and train variational parameters.
  • edward.models is refactored to incorporate all random variables in tf.contrib.distributions (#237). This speeds up computation, is more robust, and supports additional distributions and distribution methods.
  • edward.stats is refactored to have its main internals reside in tf.contrib.distributions (#238). This speeds up computation, is more robust, and supports additional distributions and distribution methods.

Documentation

  • All of the website is updated to reflect the new API changes.
  • The contributing page is revamped.

Examples

Testing

Miscellaneous

  • The TensorFlow dependency is now >=0.10.0rc0.
  • ed.__version__ displays Edward's version.
  • ed.set_seed() is more robust, checking to see if any random ops were created prior to setting the seed.

1.1.0

18 Jul 07:41
Compare
Choose a tag to compare

Functionality

  • Three ways to read data are supported, enabling the range from storing data in memory within TensorFlow's computational graph to manually feeding data to reading data from files. (see #170)
  • Support for Python 3 is added.
  • The naming scheme for various attributes is made consistent. (see #162 (comment))

Documentation

  • The website is given a complete overhaul, now with getting started and delving in pages, in-depth tutorials, and an API describing the design of Edward and autogenerated doc for each function in Edward. (see #149)

Examples

1.0.9

10 Jul 00:24
Compare
Choose a tag to compare
  • There is now one data object to rule them all: a Python dictionary. (see #156)
  • Distribution objects can be of arbitrary shape. For example, a 5 x 2 matrix of Normal random variables is declared with x = Normal([5, 2]). (see #138)

Documentation

Miscellaneous

  • We now use the special functions and their automatic differentation available in TensorFlow, e.g., tf.lgamma, tf.digamma, tf.lbeta.
  • Sampling via NumPy/SciPy is done using a tf.py_func wrapper, speeding up sampling and avoiding internal overhead from the previous solution. (see #160)
  • Sampling via reparameterizable distributions now follows the convention of tf.contrib.distributions. (see #161)
  • Fixed bug where a class copy of the layers object in Variational is done (see #119)

1.0.8

26 Jun 05:59
Compare
Choose a tag to compare
  • distributions can now be specified with parameters, simplifying use of inference networks, alternative parameterizations, and much of the internals for developing new inference algorithms; see #126
  • TensorFlow session is now a global variable and can simply be accessed with get_session(); see #117
  • added Laplace approximation
  • added utility function to calculate hessian of TensorFlow tensors