https://github.com/GPflow/GPflow
Revision b41d4f38436e4a090c940dbd3bc7e2afd39a283e authored by st-- on 23 April 2020, 18:17:42 UTC, committed by GitHub on 23 April 2020, 18:17:42 UTC
Previously, GPflow's NaturalGradient optimizer would call the loss_function once for each (q_mu, q_sqrt) set in the var_list. This is a light refactor that separates out applying the natural gradient step from computing the gradients (`_natgrad_apply_gradients`), and changes `_natgrad_steps` to only evaluate the loss function once, computing the gradients for all (q_mu, q_sqrt) tuples passed in the var_list.

Other changes:
- The no-longer-used `_natgrad_step` method got removed.
- NaturalGradient now takes a `xi_transform` argument that is used for all parameter sets without explicitly specified xi transform (i.e. tuples rather than triplets).
- XiTransform has been changed to have staticmethods.

None of this should affect any downstream code; this PR is backwards-compatible.
1 parent c7550ce
History
Tip revision: b41d4f38436e4a090c940dbd3bc7e2afd39a283e authored by st-- on 23 April 2020, 18:17:42 UTC
refactor natgrads to be more efficient (#1443)
Tip revision: b41d4f3
File Mode Size
.circleci
.github
doc
gpflow
tests
.coveragerc -rw-r--r-- 283 bytes
.coveralls.yml -rw-r--r-- 23 bytes
.gitignore -rw-r--r-- 858 bytes
.pylintrc -rw-r--r-- 14.6 KB
GLOSSARY.md -rw-r--r-- 1.4 KB
LICENSE -rw-r--r-- 11.1 KB
MANIFEST.in -rw-r--r-- 182 bytes
Makefile -rw-r--r-- 682 bytes
README.md -rw-r--r-- 9.6 KB
RELEASE.md -rw-r--r-- 6.9 KB
VERSION -rw-r--r-- 6 bytes
codecov.yml -rw-r--r-- 274 bytes
contributing.md -rw-r--r-- 7.3 KB
mypy.ini -rw-r--r-- 37 bytes
notebooks l--------- 21 bytes
setup.py -rw-r--r-- 3.8 KB
tests_requirements.txt -rw-r--r-- 232 bytes

README.md

back to top