Skip to content

Jaxopt integration #1168

Answered by rdyro
ronceray asked this question in General
Jan 8, 2025 · 1 comments · 4 replies
Discussion options

You must be logged in to vote

Makes sense! For example, for the main quasi-second order optimizer in optax L-BFGS, the inverse Hessian is never really constructed explicitly, but you can reconstruct it from the optimizer state, for L-BFGS:

optax/optax/_src/transform.py

Lines 1448 to 1470 in bff9977

class ScaleByLBFGSState(NamedTuple):
"""State for LBFGS solver.
Attributes:
count: iteration of the algorithm.
params: current parameters.
updates: current updates.
diff_params_memory: represents a list of past parameters' differences up to
some predetermined ``memory_size`` fixed in :func:`optax.scale_by_lbfgs`.
diff_updates_memory: represents a list of past …

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@ronceray
Comment options

@rdyro
Comment options

rdyro Jan 9, 2025
Maintainer

Answer selected by ronceray
@ronceray
Comment options

@rdyro
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants