Source code for ax.benchmark.benchmark_test_function

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

# pyre-strict

from abc import ABC, abstractmethod
from collections.abc import Mapping, Sequence
from dataclasses import dataclass

from ax.core.types import TParamValue
from torch import Tensor


[docs] @dataclass(kw_only=True) class BenchmarkTestFunction(ABC): """ The basic Ax class for generating deterministic data to benchmark against. (Noise - if desired - is added by the runner.) Args: outcome_names: Names of the outcomes. n_steps: Number of data points produced per metric and per evaluation. 1 if data is not time-series. If data is time-series, this will eventually become the number of values on a `MapMetric` for evaluations that run to completion. """ outcome_names: Sequence[str] n_steps: int = 1
[docs] @abstractmethod def evaluate_true(self, params: Mapping[str, TParamValue]) -> Tensor: """ Evaluate noiselessly. Returns: A 2d tensor of shape (len(self.outcome_names), self.n_steps). """ ...