Skip to content
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

[ADD] Forbid subsampling with repeated indices #16

Merged
merged 2 commits into from Feb 18, 2022

Conversation

f-dangel
Copy link
Owner

No description provided.

@coveralls
Copy link

coveralls commented Feb 18, 2022

Pull Request Test Coverage Report for Build 1863916071

  • 9 of 9 (100.0%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.1%) to 81.825%

Totals Coverage Status
Change from base Build 1847646187: 0.1%
Covered Lines: 1157
Relevant Lines: 1414

💛 - Coveralls

@f-dangel f-dangel merged commit fff88a0 into development Feb 18, 2022
f-dangel added a commit that referenced this pull request Feb 18, 2022
* [REF] Rename file containing argument checks

* [ADD] Forbid sub-sampling with repeated indices

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>
f-dangel added a commit that referenced this pull request Feb 21, 2022
Exotic features, like using different GGNs to compute directions and
directional curvatures, as well as full control of which intermediate buffers
to keep, have been deprecated in favor of a simpler API.

- Remove Newton step computation for now as it was internally relying on
 `DirectionalDerivatives`
- Remove many utilities and associated tests from the exotic features
- Forbid duplicate indices in `subsampling`
- Always delete intermediate buffers other than the target quantities

---

* [REF] Rename `GramComputations` → `DirectionalDerivativesComputation`

* [DEL] Remove `compute_gammas` and `keep_gammas` arguments

Always compute and keep first-order directional derivatives.

* [DEL] Remove `compute_lambdas` and `keep_lambdas` arguments

* [DEL] Remove Newton step and Newton optimizer

Currently, the Newton step depends on the directional derivatives.
I will be easier to clean up the latter's API before reactivating the
Newton step feature.

* [DEL] Remove `keep_gram_mat` argument

Always delete the Gram matrix.

* [DEL] Remove `keep_gram_evecs` argument

Always remove the Gram matrix eigenvectors.

* [DEL] Remove `keep_gram_evals` argument

Always delete the Gram matrix eigenvalues.

* [DEL] Remove `keep_batch_size` argument

Always delete batch size.

* [DEL] Remove `keep_backpack_buffers` argument

Always delete BackPACK buffers.

* [DEL] Remove `param_groups` from `get_extensions`

* [ADD] Simplify `DirectionalDerivativesComputation` API and tests

* [ADD] Forbid `subsampling` with repeated indices (#16)

* [REF] Rename file containing argument checks

* [ADD] Forbid sub-sampling with repeated indices

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>

* [ADD] Simplify internals of `DirectionalDerivativesComputation`

Forbid duplicates in subsampling, share subsampling for directions and
directional curvatures.

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>
f-dangel added a commit that referenced this pull request Feb 22, 2022
- Inline parameter computations and group hooks
- Remove `stable_symeig`
- Recycle functionality from `vivit.linalg`

---

 [REF] Rename `GramComputations` → `DirectionalDerivativesComputation`

* [DEL] Remove `compute_gammas` and `keep_gammas` arguments

Always compute and keep first-order directional derivatives.

* [DEL] Remove `compute_lambdas` and `keep_lambdas` arguments

* [DEL] Remove Newton step and Newton optimizer

Currently, the Newton step depends on the directional derivatives.
I will be easier to clean up the latter's API before reactivating the
Newton step feature.

* [DEL] Remove `keep_gram_mat` argument

Always delete the Gram matrix.

* [DEL] Remove `keep_gram_evecs` argument

Always remove the Gram matrix eigenvectors.

* [DEL] Remove `keep_gram_evals` argument

Always delete the Gram matrix eigenvalues.

* [DEL] Remove `keep_batch_size` argument

Always delete batch size.

* [DEL] Remove `keep_backpack_buffers` argument

Always delete BackPACK buffers.

* [DEL] Remove `param_groups` from `get_extensions`

* [ADD] Simplify `DirectionalDerivativesComputation` API and tests

* [ADD] Forbid `subsampling` with repeated indices (#16)

* [REF] Rename file containing argument checks

* [ADD] Forbid sub-sampling with repeated indices

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>

* [ADD] Simplify internals of `DirectionalDerivativesComputation`

Forbid duplicates in subsampling, share subsampling for directions and
directional curvatures.

* [REF] Use `accumulation` instead of attributes to transfer quantities

* [REF] Inline parameter computations

* [TEST] Increase `atol` to make GPU tests pass

* [REF] Use `Tensor.symeig` and remove `stable_symeig`

* [REF] Inline `group_hook_directions`

* [REF] Inline `group_hook_filter_directions`

* [REF] Inline `group_hook_gammas`

* [REF] Inline `group_hook_lambdas`

* [REF] Inline `group_hook_memory_cleanup`

* [REF] Pop batch size straight

* [REF] Reduce duplication in group hook

* [REF] Use batch size hook from `vivit.linalg` utilities

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>
@f-dangel f-dangel deleted the subsampling-check branch February 22, 2022 16:35
f-dangel added a commit that referenced this pull request Mar 24, 2022
* [REF] Rename file containing argument checks

* [ADD] Forbid sub-sampling with repeated indices

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>
f-dangel added a commit that referenced this pull request Mar 24, 2022
Exotic features, like using different GGNs to compute directions and
directional curvatures, as well as full control of which intermediate buffers
to keep, have been deprecated in favor of a simpler API.

- Remove Newton step computation for now as it was internally relying on
 `DirectionalDerivatives`
- Remove many utilities and associated tests from the exotic features
- Forbid duplicate indices in `subsampling`
- Always delete intermediate buffers other than the target quantities

---

* [REF] Rename `GramComputations` → `DirectionalDerivativesComputation`

* [DEL] Remove `compute_gammas` and `keep_gammas` arguments

Always compute and keep first-order directional derivatives.

* [DEL] Remove `compute_lambdas` and `keep_lambdas` arguments

* [DEL] Remove Newton step and Newton optimizer

Currently, the Newton step depends on the directional derivatives.
I will be easier to clean up the latter's API before reactivating the
Newton step feature.

* [DEL] Remove `keep_gram_mat` argument

Always delete the Gram matrix.

* [DEL] Remove `keep_gram_evecs` argument

Always remove the Gram matrix eigenvectors.

* [DEL] Remove `keep_gram_evals` argument

Always delete the Gram matrix eigenvalues.

* [DEL] Remove `keep_batch_size` argument

Always delete batch size.

* [DEL] Remove `keep_backpack_buffers` argument

Always delete BackPACK buffers.

* [DEL] Remove `param_groups` from `get_extensions`

* [ADD] Simplify `DirectionalDerivativesComputation` API and tests

* [ADD] Forbid `subsampling` with repeated indices (#16)

* [REF] Rename file containing argument checks

* [ADD] Forbid sub-sampling with repeated indices

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>

* [ADD] Simplify internals of `DirectionalDerivativesComputation`

Forbid duplicates in subsampling, share subsampling for directions and
directional curvatures.

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>
f-dangel added a commit that referenced this pull request Mar 24, 2022
- Inline parameter computations and group hooks
- Remove `stable_symeig`
- Recycle functionality from `vivit.linalg`

---

 [REF] Rename `GramComputations` → `DirectionalDerivativesComputation`

* [DEL] Remove `compute_gammas` and `keep_gammas` arguments

Always compute and keep first-order directional derivatives.

* [DEL] Remove `compute_lambdas` and `keep_lambdas` arguments

* [DEL] Remove Newton step and Newton optimizer

Currently, the Newton step depends on the directional derivatives.
I will be easier to clean up the latter's API before reactivating the
Newton step feature.

* [DEL] Remove `keep_gram_mat` argument

Always delete the Gram matrix.

* [DEL] Remove `keep_gram_evecs` argument

Always remove the Gram matrix eigenvectors.

* [DEL] Remove `keep_gram_evals` argument

Always delete the Gram matrix eigenvalues.

* [DEL] Remove `keep_batch_size` argument

Always delete batch size.

* [DEL] Remove `keep_backpack_buffers` argument

Always delete BackPACK buffers.

* [DEL] Remove `param_groups` from `get_extensions`

* [ADD] Simplify `DirectionalDerivativesComputation` API and tests

* [ADD] Forbid `subsampling` with repeated indices (#16)

* [REF] Rename file containing argument checks

* [ADD] Forbid sub-sampling with repeated indices

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>

* [ADD] Simplify internals of `DirectionalDerivativesComputation`

Forbid duplicates in subsampling, share subsampling for directions and
directional curvatures.

* [REF] Use `accumulation` instead of attributes to transfer quantities

* [REF] Inline parameter computations

* [TEST] Increase `atol` to make GPU tests pass

* [REF] Use `Tensor.symeig` and remove `stable_symeig`

* [REF] Inline `group_hook_directions`

* [REF] Inline `group_hook_filter_directions`

* [REF] Inline `group_hook_gammas`

* [REF] Inline `group_hook_lambdas`

* [REF] Inline `group_hook_memory_cleanup`

* [REF] Pop batch size straight

* [REF] Reduce duplication in group hook

* [REF] Use batch size hook from `vivit.linalg` utilities

Co-authored-by: Felix Dangel <fdangel@tue.mpg.de>
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.

None yet

2 participants