class boulderopal.closed_loop.NeuralNetwork(bounds, seed=None)

The neural network optimizer.


  • bounds (Bounds) – The bounds on the test points.
  • seed (int or None , optional) – Seed for the random number generator used in the optimizer. If set, must be a non-negative integer. Use this option to generate deterministic results from the optimizer.


The neural network optimizer builds and trains a neural network to fit the cost landscape with the data it receives. Then a set of test points are returned, which minimize the neural network’s fitted cost landscape. A gradient based optimizer is used to minimize this landscape, with the points starting from different random initial values.

This method is recommended when you can provide a large amount of data about your system.

The network architecture used by this optimizer is chosen for its good performance on a variety of quantum control tasks.

For best results, you should pass an array of initial_parameters evenly sampled over the whole parameter space.

Was this useful?