Skip to content

Prepare 1.1.0 release #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Feb 19, 2023
Merged

Prepare 1.1.0 release #23

merged 15 commits into from
Feb 19, 2023

Conversation

f-dangel
Copy link
Owner

@f-dangel f-dangel commented Feb 19, 2023

See the changelog for details.

f-dangel and others added 15 commits October 2, 2022 12:46
…#9)

* [ADD] Inverse linear operator based on CG

* [DOC] Specify requirements of linop to be inverted

* [FIX] Correct return arguments of CG

* [ADD] Add CGInverseLinearOperator to API

* [DOC] Unfinished example for natural gradient with TODOs

* [FIX] Use correct tol

* [DOC] Finish content of NGD example

* [CI] Ignore darglint for CG hyperparameters

* [DOC] Pass over natural gradient example, rename

Co-authored-by: Felix Dangel <[email protected]>
* [REF] Extract method to report mismatches in array comparisons

* [REF] Extract functorch methods to compute the Hessian, GGN & gradient

* [FIX] Overlong lines

* [DOC] Add docstrings, ignore if redundant

Co-authored-by: Felix Dangel <[email protected]>
* [FIX] Print correct array element

* [DOC] Mention more accurate inversion by setting CG parameters

* [DOC] Improve documentation

* [FMT] Shorten lines

* [REF] Improve readability of first description line

* [FIX] rst Syntax

* [FIX] Reference to eigsh

Co-authored-by: Felix Dangel <[email protected]>
* [FIX] Print correct array element

* [DOC] Mention more accurate inversion by setting CG parameters

* [DOC] Improve documentation

* [FMT] Shorten lines

* [REF] Improve readability of first description line

* [FIX] rst Syntax

* [FIX] Reference to eigsh

Co-authored-by: Felix Dangel <[email protected]>
Implements tests for

- Matrix-vector/matrix products with the GGN/Hessian
- Matrix-vector/matrix products with the inverse damped GGN

and refactors existing tests.

* [FIX] Print correct array element

* [DOC] Mention more accurate inversion by setting CG parameters

* [DOC] Improve documentation

* [FMT] Shorten lines

* [REF] Improve readability of first description line

* [FIX] rst Syntax

* [FIX] Reference to eigsh

* [TEST] Add parametrized tests for GGN/Hessian matvec/mat

* [REF] Use fixture

In order for a fixture to be visible, it has to live in a `conftest.py`
file (see https://stackoverflow.com/a/36457475).

* [REQ] Add functorch to test requirements

* [REF] Clean up and move tests for `check_deterministic`

* [REF] Improve BN initialization code

* [TEST] Matrix-vector/matrix products with the inverse damped GGN

Co-authored-by: Felix Dangel <[email protected]>
Includes an example that reproduces Fig. 15 from the paper.
Updates API. Smaller improvements in the documentation.

* [REF] Rename LowRank → OuterProductLinearOperator

* [ADD] Spectral analysis methods from papyan2020traces

* [DOC] Add numpy link to intersphinx

* [FIX] Add logo in .png format, specify as default thumb

* [DOC] Add spectral density methods to API

* [DOC] Add example (reproducing Figure 15 of papyan2020traces)

* [FIX] Typo in API definition

* [TEST] Integration test for spectral density estimation

* [REQ] Add matplotlib to test requirements

Co-authored-by: Felix Dangel <[email protected]>
…ns (#15)

* [REF] Extract one repeat of spectral approximation

* [ADD] Class for density approximation with cached Lanczos

* [DOC] Add docstrings

* [DOC] Make keyword arguments more explicit

* [FIX] Missing argument in docstring

* [REF] Extract log spectrum construction from Lanczos iteration

* [ADD] Class for log-spectrum approximation with cached Lanczos iterations

* [DOC] Fix indentation

Co-authored-by: Felix Dangel <[email protected]>
* [DOC] Add setup for visual tour

* [ADD] Finish content of visual tour, add matplotlib to intersphinx

* [REF] Extract transforms

* [FIX] flake8
…17)

* [DOC] Add mathematical definitions of GGN and Hessian

* [FIX] Set dtype of random vector in deterministic check

* [ADD] Linear operator for empirical Fisher

* [DEL] Remove autograd double-check in functorch EF implementation

* [DOC] Add empirical Fisher to visual tour

* [DEL] Remove TODO after failed attempt with `is_grad_batched`

* [FIX] Remove unused import

* [DOC] Add missing docstrings
Requires time-consuming tests due to verifying the Monte-Carlo
approximation. Introduces `test` and `test-light`, the former of which
is run when pushing to `master` and `development`. `test` executes 
all tests, `test-light` skips the expensive Monte-Carlo tests (realized 
with the `pytest-optional-tests` package).

* [ADD] Regression test cases

* [ADD] MC approximation of the Fisher

* [FIX] Docstring, extract number of classes

* [REF] Use larger rtol

* [CI] Mark MC tests as expensive, only run on `development` and `master`

* [REF] Use smaller rtol, improve convergence check

* [REF] Integrate MSE normalization over classes into standard deviation

* [REF] Increase atol, decrease number of vectors for matmat test

* [DOC] Update features in README

* [REF] Only create _generator if it does not exist yet

* [REF] Extract batch size, refactor if-else statement
* [CI] Update code to latest flake8 (6.0.0) and black (23.1.0)

* [CI] Make flake8 ignore B905

* [FMT] Use TAB instead of two spaces
* [DEL] Remove functorch dependency as it's part of `torch>=1.13`

* [DOC] Update changelog

* [DOC] Update future supported features
@f-dangel f-dangel merged commit 45c13ba into main Feb 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant