Revision e7cfb8e1dc63ab964a119af296a090e82245321e authored by Christabella Irwanto on 07 April 2020, 19:38:30 UTC, committed by GitHub on 07 April 2020, 19:38:30 UTC
* Match original experiment setup from paper. Replicate the original setup published in Fortuin and Ratsch (2019) and heavily comment the code with references to the paper. * Run `make format` and reduce hyperparameters to ease computation. * Format MSE and std to 2 decimals and sort randomly permuted indices. * Describe experimental modifications made in the notebook. * Plot target task training points. * Plot prediction variance/uncertainty. * Go with N=500, use more explicit name. * Address comments from @st--
1 parent 8094187
RELEASE.md
# Release 1.2.0
- Added `SoftMax` likelihood (#799)
- Added likelihoods where expectations are evaluated with Monte Carlo, `MonteCarloLikelihood` (#799)
- GPflow monitor refactoring, check `monitor-tensorboard.ipynb` for details (#792)
- Speedup testing on Travis using utility functions for configuration in notebooks (#789)
- Support Python 3.5.2 in typing checks (Ubuntu 16.04 default python3) (#787)
- Corrected scaling in Students-t likelihood variance (#777)
- Removed jitter before taking the cholesky of the covariance in NatGrad optimizer (#768)
- Added GPflow logger. Created option for setting logger level in `gpflowrc` (#764)
- Fixed bug at `params_as_tensors_for` (#751)
- Fixed GPflow SciPy optimizer to pass options to _actual_ scipy optimizer correctly (#738)
- Improved quadrature for likelihoods. Unified quadrature method introduced - `ndiagquad` (#736), (#747)
- Added support for multi-output GPs, check `multioutput.ipynb` for details (#724)
* Multi-output features
* Multi-output kernels
* Multi-dispatch for conditional
* Multi-dispatch for Kuu and Kuf
- Support Exponential distribution as prior (#717)
- Added notebook to demonstrate advanced usage of GPflow, such as combining GP with Neural Network (#712)
- Minibatch shape is `None` by default to allow dynamic change of data size (#704)
- Epsilon parameter of the Robustmax likelihood is trainable now (#635)
- GPflow model saver (#660)
* Supports native GPflow models and provides an interface for defining custom savers for user's models
* Saver stores GPflow structures and pythonic types as numpy structured arrays and serializes them using HDF5
# Release 1.1
- Added inter-domain inducing features. Inducing points are used by default and are now set with `model.feature.Z`.
# Release 1.0
* Clear and aligned with tree-like structure of GPflow models design.
* GPflow trainable parameters are no longer packed into one TensorFlow variable.
* Integration of bare TensorFlow and Keras models with GPflow became very simple.
* GPflow parameter wraps multiple tensors: unconstained variable, constrained tensor and prior tensor.
* Instantaneous parameter's building into the TensorFlow graph. Once you created an instance of parameter, it creates necessary tensors at default graph immediately.
* New implementation for AutoFlow. `autoflow` decorator is a replacement.
* GPflow optimizers match TensorFlow optimizer names. For e.g. `gpflow.train.GradientDescentOptimizer` mimics `tf.train.GradientDescentOptimizer`. They even has the same instantialization signature.
* GPflow has native support for Scipy optimizers - `gpflow.train.ScipyOptimizer`.
* GPflow has advanced HMC implementation - `gpflow.train.HMC`. It works only within TensorFlow memory scope.
* Tensor conversion decorator and context manager designed for cases when user needs to implicitly convert parameters to TensorFlow tensors: `gpflow.params_as_tensors` and `gpflow.params_as_tensors_for`.
* GPflow parameters and parameterized objects provide convenient methods and properties for building, intializing their tensors. Check `initializables`, `initializable_feeds`, `feeds` and other properties and methods.
* Floating shapes of parameters and dataholders without re-building TensorFlow graph.
# Release 0.5
- bugfix for log_jacobian in transforms
# Release 0.4.1
- Different variants of `gauss_kl_*` are now deprecated in favour of a unified `gauss_kl` implementation
# Release 0.4.0
- Rename python package name to `gpflow`.
- Compile function has external session and graph arguments.
- Tests use Tensorflow TestCase class for proper session managing.
# Release 0.3.8
- Change to LowerTriangular transform interface.
- LowerTriangular transform now used by default in VGP and SVGP
- LowerTriangular transform now used native TensorFlow
- No longer use bespoke GPflow user ops.
# Release 0.3.7
- Improvements to VGP class allow more straightforward optimization
# Release 0.3.6
- Changed ordering of parameters to be alphabetical, to ensure consistency
# Release 0.3.5
- Update to work with TensorFlow 0.12.1.
# Release 0.3.4
- Changes to stop computations all being done on the default graph.
- Update list of GPflow contributors and other small changes to front page.
- Better deduction of `input_dim` for `kernels.Combination`
- Some kernels did not properly respect active dims, now fixed.
- Make sure log jacobian is computed even for fixed variables
# Release 0.3.3
- House keeping changes for paper submission.
# Release 0.3.2
- updated to work with tensorflow 0.11 (release candidate 1 available at time of writing)
- bugfixes in vgp._compile
# Release 0.3.1
- Added configuration file, which controls verbosity and level of numerical jitter
- tf_hacks is deprecated, became tf_wraps (tf_hacks will raise visible deprecation warnings)
- Documentation now at gpflow.readthedocs.io
- Many functions are now contained in tensorflow scopes for easier tensorboad visualisation and profiling
# Release 0.3
- Improvements to the way that parameters for triangular matrices are stored and optimised.
- Automatically generated Apache license headers.
- Ability to track log probabilities.
# Release 0.2
- Significant improvements to the way that data and fixed parameters are handled.
Previously, data and fixed parameters were treated as tensorflow constants.
Now, a new mechanism called `get_feed_dict()` can gather up data and and fixed
parameters and pass them into the graph as placeholders.
- To enable the above, data are now stored in objects called `DataHolder`. To
access values of the data, use the same syntax as parameters:
`print(m.X.value)`
- Models do not need to be recompiled when the data changes.
- Two models, VGP and GPMC, do need to be recompiled if the *shape* of the data changes
- A multi-class likelihood is implemented
# Release 0.1.4
- Updated to work with tensorflow 0.9
- Added a Logistic transform to enable contraining a parameter between two bounds
- Added a Laplace distribution to use as a prior
- Added a periodic kernel
- Several improvements to the AutoFlow mechanism
- added FITC approximation (see comparison notebook)
- improved readability of code according to pep8
- significantly improved the speed of the test suite
- allowed passing of the 'tol' argument to scipy.minimize routine
- added ability to add and multiply MeanFunction objects
- Several new contributors (see README.md)
# Release 0.1.3
- Removed the need for a fork of TensorFlow. Some of our bespoke ops are replaced by equivalent versions.
# Release 0.1.2
- Included the ability to compute the full covaraince matrix at predict time. See `GPModel.predict_f`
- Included the ability to sample from the posterior function values. See `GPModel.predict_f_samples`
- Unified code in conditionals.py: see deprecations in `gp_predict`, etc.
- Added SGPR method (Sparse GP Regression)
# Release 0.1.1
- included the ability to use tensorflow's optimizers as well as the scipy ones
# Release 0.1.0
The initial release of GPflow.
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...