You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As previously already discussed eg. in Qiskit/qiskit#8628 (comment), it would be great it all Qiskit Optimizers have the same signature for the callback function.
The callback function allows to pass back information on the state of the optimization to the user during the optimization. This is useful to track additional information like the optimization history or to check whether the optimization is converging. However, currently each optimizer has it's own signature on the callback, which makes it difficult to write modular code. It would be great it they had consistent signature, such as:
woodsp-ibm
changed the title
[from qiskit] Unify callback signatures in qiskit.algorithms.optimizers
[from qiskit] Unify callback signatures in qiskit_algorithms.optimizersAug 24, 2023
In the issue linked talking about VQE callback, was brought up when using ADAM. I talked about using an optimizer callback in there to access more information that is not available to VQE. I note that ADAM does not have this - maybe this is something that can be added as part of the unification to make sure not only is the same format but its available everywhere. The snapshot_dir function ADAM has does give access to the same type of info - maybe that can be deprecated it we support a callback there - a user of such a callback can save it to file themselves etc.
What should we add?
As previously already discussed eg. in Qiskit/qiskit#8628 (comment), it would be great it all Qiskit Optimizers have the same signature for the callback function.
The callback function allows to pass back information on the state of the optimization to the user during the optimization. This is useful to track additional information like the optimization history or to check whether the optimization is converging. However, currently each optimizer has it's own signature on the callback, which makes it difficult to write modular code. It would be great it they had consistent signature, such as:
The current parameters are known to each optimizer (also the SciPy optimizers) and additional information could be stored in an optimization state, such as introduced in https://github.com/Qiskit/qiskit-terra/blob/5177db6e09917809895fe37878422ba8fcb6321a/qiskit/algorithms/optimizers/gradient_descent.py#L28
The text was updated successfully, but these errors were encountered: