class qctrl.dynamic.types.closed_loop_optimization_step.NeuralNetworkInitializer(*, bounds, rng_seed=None)

Configuration for the neural network based optimizer. The optimizer builds and trains a neural network to fit the cost landscape with the data you provide. The trained neural network is then used to generate new candidate test points. This method is recommended when you can provide large amount of data about your system. Note that you must pass a non-empty list of results in the input to the initial step when using this initializer. These initial results are also expected to be evenly sampled over the whole parameter space.

  • bounds (List[qctrl.dynamic.types.closed_loop_optimization_step.BoxConstraint]) – The per-parameter bounds on the test points. The bounds are defined by imposing a box constraint on each individual parameter. That is, for each parameter \(x_j\), the optimizer is only allowed to search the next test point subject to the constraint such that \(x^{\rm lower}_j \leq x_j \leq x^{\rm upper}_j\). These constraints must be in the same order as parameters in CostFunctionResult.

  • rng_seed (int) – Optional. Seed for the random number generator. Use this option to generate deterministic results from the optimizer.