adaptive.BlockingRunner¶
-
class
adaptive.BlockingRunner(learner, goal, *, executor=None, ntasks=None, log=False, shutdown_executor=False, retries=0, raise_if_retries_exceeded=True)[source]¶ Bases:
adaptive.runner.BaseRunnerRun a learner synchronously in an executor.
- Parameters
learner (
BaseLearnerinstance) –goal (callable) – The end condition for the calculation. This function must take the learner as its sole argument, and return True when we should stop requesting more points.
executor (
concurrent.futures.Executor, distributed.Client, mpi4py.futures.MPIPoolExecutor, ipyparallel.Client or loky.get_reusable_executor, optional) – The executor in which to evaluate the function to be learned. If not provided, a newProcessPoolExecutor.ntasks (int, optional) – The number of concurrent function evaluations. Defaults to the number of cores available in executor.
log (bool, default: False) – If True, record the method calls made to the learner by this runner.
shutdown_executor (bool, default: False) – If True, shutdown the executor when the runner has completed. If executor is not provided then the executor created internally by the runner is shut down, regardless of this parameter.
retries (int, default: 0) – Maximum amount of retries of a certain point
xinlearner.function(x). After retries is reached forxthe point is present inrunner.failed.raise_if_retries_exceeded (bool, default: True) – Raise the error after a point
xfailed retries.
-
learner¶ The underlying learner. May be queried for its state.
- Type
BaseLearnerinstance
-
log¶ Record of the method calls made to the learner, in the format
(method_name, *args).
-
to_retry¶ List of
(point, n_fails). When a point has failedrunner.retriestimes it is removed but will be present inrunner.tracebacks.- Type
list of tuples
-
tracebacks¶ List of of
(point, tb)for points that failed.- Type
list of tuples
-
pending_points¶ A list of tuples with
(concurrent.futures.Future, point).- Type
list of tuples
-
elapsed_time : callable A method that returns the time elapsed since the runner was started.
-
overhead : callable The overhead in percent of using Adaptive. This includes the overhead of the executor. Essentially, this is
100 * (1 - total_elapsed_function_time / self.elapsed_time()).