plot_cost_histories

qctrlvisualizer.plot_cost_histories(cost_histories, labels=None, y_axis_log=False, initial_iteration=1, *, figure=None)

Create a plot of the cost against iterations for either a single cost history or a set of cost histories.

Parameters:
  • cost_histories (list) – The values of the cost histories. Must be either a list of a single cost history or a list of several cost histories, where each individual cost history is a list. For example, a single cost history can be passed (cost_histories = [0.1, 0.05, 0.02]) or multiple cost histories (cost_histories = [[0.1, 0.05, 0.02], [0.23, 0.2, 0.14, 0.1, 0.04, 0.015]]).

  • labels (list[str] or None, optional) – The labels corresponding to the individual cost histories in cost_histories. If you provide this, it must be the same length as cost_histories.

  • y_axis_log (bool, optional) – Whether the y-axis is log-scale. Defaults to False.

  • initial_iteration (int, optional) – Where the iteration count on the x-axis starts from. This is useful if you want to include the initial cost—before optimization—at iteration 0 or if you pass cost histories that start at a later iteration. Defaults to 1.

  • figure (matplotlib.figure.Figure or None, optional) – A matplotlib Figure in which to place the plots. If passed, its dimensions and axes will be overridden.

Examples

Compare the cost histories of two closed-loop optimizers.

from qctrlvisualizer import plot_cost_histories

cost_histories = [
    [0.1, 0.05, 0.02, 0.015, 0.009, 0.006, 0.004, 0.001],
    [0.23, 0.2, 0.14, 0.08, 0.04, 0.025, 0.015, 0.01, 0.008, 0.005, 0.004, 0.002, 0.001],
]

plot_cost_histories(
    cost_histories=cost_histories, labels=["CMA-ES", "Simulated annealing"]
)
../_images/plot_cost_histories-1.png