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

Track cost value through time and retrieve as raw data and plot. #158

Closed
4 tasks done
GaboFGuerra opened this issue Jan 12, 2023 · 1 comment · Fixed by #177
Closed
4 tasks done

Track cost value through time and retrieve as raw data and plot. #158

GaboFGuerra opened this issue Jan 12, 2023 · 1 comment · Fixed by #177
Assignees
Labels
1-feature New feature or request 2-important/urgent

Comments

@GaboFGuerra
Copy link
Collaborator

GaboFGuerra commented Jan 12, 2023

User Story

As a user/developer, I want to access the evolution of cost through time after the execution of the OptimizationSolver on a given workload, so that I can understand the evolution of the underlying search algorithm(s) for that workload and a particular set of hyperparameters.

Conditions of satisfaction

  • We have unit tests for both CPU backend.
  • A plot of cost vs time can be generated by calling a method on the solver.
  • The cost timeseries is also available as raw data for post-processing.

Acceptance tests

  • The cost tracking can be enabled and results in setting and configuring the StateProbes for the cost variable in the CostIntegrator.
  • Changes in the CostIntegrator are reflected on the recorded time series.

I'm submitting a ...

  • feature request

Current behavior:

  • Currently, the solver does not allow the tracking of cost as the search progresses, it just prints out to std output the cost value every time a better cost is found.

Expected behavior:

  • The user should be able to retrieve the evolution of the cost function as the solution search progresses, the user might want to infer the dynamical regime of the network, e.g., exploration vs exploitation, understand whether the network is stuck on a local minima, and assess whether a temperature or noise schedule is improving search performance.
  • The user should be able to activate or inactivate cost tracking, e.g., solver.enable_cost_tracking =True, as StateProbes can slow down execution.
  • The user should be able to get the raw data but also quickly produce a plot.
  • Ideally, but not mandatory, the user could see the evolution of the cost in a realtime graph.

Tasks

  • [GG, 1ih] Write tests on lava-optimization
  • [AP, 1ih] Update OptimizationSolver interface to control cost tracking
  • [AP, 4ih] Enable cost tracking on CPU with Lava Monitor
@github-actions github-actions bot added the 0-needs-review Has to be reviewed. label Jan 12, 2023
@AlessandroPierro AlessandroPierro added the 1-feature New feature or request label Jan 12, 2023
@AlessandroPierro AlessandroPierro removed the 0-needs-review Has to be reviewed. label Jan 16, 2023
@GaboFGuerra GaboFGuerra changed the title Enable tracking of cost value through runtime and retrieval as raw data and plot. Track cost value through time and retrieve as raw data and plot. Jan 20, 2023
@GaboFGuerra GaboFGuerra removed their assignment Jan 20, 2023
@phstratmann phstratmann removed this from the lava-optimization 0.3.0 milestone Jan 23, 2023
@GaboFGuerra GaboFGuerra added this to the lava-optimization 0.3.0 milestone Jan 24, 2023
@AlessandroPierro

This comment was marked as duplicate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-feature New feature or request 2-important/urgent
Projects
None yet
3 participants