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[int, …], 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[int, …], 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