aiaccel.hpo.algorithms.NelderMeadAlgorism

class aiaccel.hpo.algorithms.NelderMeadAlgorism(dimensions: int | None = None, coeff: NelderMeadCoefficient | None = None, rng: RandomState | None = None, block: bool = False, timeout: int | None = None)[source]

Class to manage the NelderMead algorithm

Uses a queue to receive results and advance the NelderMead algorithm. Return parameters within the normalization range by referring only to the number of dimensions.

Parameters:
  • dimensions – int | None = None The number of dimensions in the search space.

  • coeff – NelderMeadCoefficient | None = None Parameters used in NelderMead.

  • rng – np.random.RandomState | None = None RandomState used for calculating initial points.

  • block – bool = False Sets whether to block the queue used internally.

  • timeout – int | None = None Time to block the queue.

vertices

list[npt.NDArray[np.float64]] List of simplex parameters.

Type:

list[numpy.ndarray[tuple[Any, …], numpy.dtype[numpy.float64]]]

values

list[float] List of simplex calculation results.

Type:

list[float]

generator

iterator Generator for NelderMead parameters.

lock

threading.Lock threading.Lock variable used for thread-safe processing.

results

queue.Queue[tuple[npt.NDArray[np.float64], float, bool]] Queue to receive tuples of parameters, calculation results, and a boolean indicating whether the parameters were output by NelderMead.

Type:

queue.Queue[tuple[numpy.ndarray[tuple[Any, …], numpy.dtype[numpy.float64]], float, bool]]

simplex_size

int Number of vertices in the simplex.

__init__(dimensions: int | None = None, coeff: NelderMeadCoefficient | None = None, rng: RandomState | None = None, block: bool = False, timeout: int | None = None) None[source]

Methods

__init__([dimensions, coeff, rng, block, ...])

get_vertex([dimensions])

Method to return the next parameters for NelderMead

put_value(vertex, value[, enqueue])

Method to pass a pair of parameters and results to NelderMead

Attributes