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 Loihi 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 ...
[x] 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
[x] [AP, 1ih] Write tests on lava-loihi
[x] [AP, 4ih] Enable cost tracking on Loihi with state probes
[x] [AP/GG, ?] Fix permission error arising from state probes clean-up
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
Acceptance tests
I'm submitting a ...
Current behavior:
Expected behavior:
Tasks