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

Optimizer decomposing Neural Net matrices as sums of structured matrices #64

Draft
wants to merge 56 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
ef6e2e6
First draft Stochastic Hybrid Prox LMO
GeoffNN Mar 31, 2021
6afc510
Added stochastic Robust PCA example first draft
GeoffNN Mar 31, 2021
1d7b945
Stochastic Robust PCA example fixed
GeoffNN Apr 1, 2021
fa60642
Added layer nuclear norm constraints + tests
GeoffNN Apr 2, 2021
7d0005e
Bug fixes; slowly migrating to param_groups API for Optimizer
GeoffNN Apr 6, 2021
aa447e0
MNIST example LR+Sparse
GeoffNN Apr 6, 2021
6b53c43
Merge branch 'master' into geoff/stochastic_hybrid_prox_lmo
GeoffNN Apr 7, 2021
4f52df2
Merge branch 'master' into geoff/stochastic_hybrid_prox_lmo
GeoffNN Apr 7, 2021
578e8b7
Bug fix NuclearNorm prox
GeoffNN Apr 13, 2021
c921483
slowly migrating optimizers to correct **params API
GeoffNN Apr 13, 2021
a672e64
Stochastic Robust PCA example
GeoffNN Apr 13, 2021
3061108
Deleted obsolete LR + sparse example
GeoffNN Apr 13, 2021
2182446
Merge branch 'master' into geoff/stochastic_hybrid_prox_lmo
GeoffNN Apr 20, 2021
bbe9470
fixes to splitting method -- added gradient normalization
GeoffNN Apr 24, 2021
7671cf7
removed redundant code
GeoffNN Apr 28, 2021
b41a17b
Enforcing relationship between lr, lr_prox and lipschitz
GeoffNN May 1, 2021
227b627
Removed lr_prox parameter; using lipschitz estimate, consistently wit…
GeoffNN May 3, 2021
ccc4059
state is initialized at every step in hybrid optimizer
GeoffNN May 4, 2021
6bf2b13
Prox/LMO are now Modules, to ensure pickle-ability
GeoffNN May 7, 2021
346dd32
Fixed initialization bug: making y feasible w/ correct projection
GeoffNN May 7, 2021
4200710
Fixed stochastic robust PCA example + code snippet for extracting com…
GeoffNN May 8, 2021
22a6c19
Minor fixes
GeoffNN May 8, 2021
6cb9a32
Fix when prox2 is None
GeoffNN May 9, 2021
fb6ec7d
Fixed view/reshape issue
GeoffNN May 10, 2021
28eff81
Allowing 0 constraints
GeoffNN May 10, 2021
34b99a7
Changed dataloader + loss for efficiency
GeoffNN May 14, 2021
9afbd5d
Removed debug statements
GeoffNN May 14, 2021
e95dbed
L1 penalty prox w/ stochastic hybrid splitting
GeoffNN May 14, 2021
601b738
Penalized version of RobustPCA w/ generalized LMO
GeoffNN May 14, 2021
633eee6
Hybrid Prox method now works for penalty LMO
GeoffNN May 15, 2021
10b7c4e
Slight change
GeoffNN May 15, 2021
3c99631
Slight algo modification
GeoffNN May 18, 2021
5106cf3
Fixed penalty to use torch.svd instead of torch.linalg.svd + step siz…
GeoffNN May 18, 2021
2b2f669
Fixed svd calls
GeoffNN May 18, 2021
4291e1f
SVD call updated
GeoffNN May 18, 2021
e5671d0
Fixed penalized training + changes to svd calls
GeoffNN May 18, 2021
b75436b
took out print statement
utrerf May 18, 2021
5460b80
Merge pull request #67 from utrerf/patch-2
GeoffNN May 19, 2021
69bec20
Added penalty initialization
GeoffNN May 20, 2021
c0be0ff
removed todo
GeoffNN May 21, 2021
7028526
removed print, redundant computation
GeoffNN May 21, 2021
34409b1
removed comment
GeoffNN May 21, 2021
88d72b1
Updated CIFAR
utrerf May 23, 2021
24f2faa
Merge pull request #68 from utrerf/patch-3
GeoffNN May 23, 2021
9393c27
Minor rewrites
GeoffNN May 26, 2021
65da92f
Merge branch 'geoff/stochastic_hybrid_prox_lmo' of https://github.com…
GeoffNN May 26, 2021
14378dc
vectorized L1/Simplex projections
GeoffNN May 26, 2021
cd283ca
special case when nuclear norm is of diameter 0
GeoffNN May 27, 2021
429129b
Made Frank-Wolfe savable
GeoffNN May 27, 2021
d575a09
Updated ImageNet
utrerf Jun 1, 2021
8634690
Merge pull request #69 from utrerf/patch-4
GeoffNN Jun 3, 2021
68129af
took out the ch
utrerf Aug 6, 2021
1b9fd33
Merge pull request #70 from utrerf/patch-5
GeoffNN Aug 6, 2021
86ba4bd
Added tqdm for iters in optim
GeoffNN Aug 6, 2021
47aa745
Bug fix for penalized stochastic FW
GeoffNN Sep 17, 2021
ca1bb2b
Merge branch 'geoff/stochastic_hybrid_prox_lmo' of github.com:openopt…
GeoffNN Sep 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into geoff/stochastic_hybrid_prox_lmo
  • Loading branch information
GeoffNN committed Apr 7, 2021
commit 6b53c431cb911915e03a863a7db46b310a5ccc97
5 changes: 0 additions & 5 deletions tests/test_constraints.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,3 @@ def test_model_constraint_maker(ord, constrain_bias):
continue
if constraint:
assert torch.allclose(param, constraint.prox(param.unsqueeze(0)).squeeze(0), atol=1e-5)

for param, constraint in zip(model.parameters(), constraints):
if constraint:
assert torch.allclose(param, constraint.prox(param.unsqueeze(0)).squeeze(0), atol=1e-5)

You are viewing a condensed version of this merge commit. You can view the full changes here.