40 metrics_.push_back(
MetricRecord{std::move(tag), value, step});
44 [[nodiscard]]
const std::vector<MetricRecord>&
metrics()
const {
return metrics_; }
51 [[nodiscard]] std::optional<double>
LatestMetric(
const std::string& tag)
const {
52 for (
auto it = metrics_.rbegin(); it != metrics_.rend(); ++it) {
66 [[nodiscard]] std::optional<double>
BestMetric(
const std::string& tag,
bool maximize)
const {
67 std::optional<double> best;
68 for (
const auto& record : metrics_) {
69 if (record.tag != tag) {
72 if (!best.has_value() || (maximize ? record.value > *best : record.value < *best)) {
81 std::vector<MetricRecord> metrics_;
A configuration paired with the metric history observed while evaluating it (instantiate a network un...
Definition trial.hpp:31
const std::vector< MetricRecord > & metrics() const
Every metric recorded, in recording order.
Definition trial.hpp:44
Trial(Configuration configuration)
Definition trial.hpp:33
std::optional< double > LatestMetric(const std::string &tag) const
The most recently recorded value for tag (by recording order, not by step number – a caller recording...
Definition trial.hpp:51
const Configuration & configuration() const
The hyperparameter configuration this trial evaluates.
Definition trial.hpp:36
std::optional< double > BestMetric(const std::string &tag, bool maximize) const
The best value recorded for tag.
Definition trial.hpp:66
void RecordMetric(std::string tag, double value, int step)
Records one metric observation.
Definition trial.hpp:39
Definition acquisition_functions.hpp:16
std::map< std::string, ConfigValue > Configuration
A concrete hyperparameter configuration: parameter name -> concrete value.
Definition search_space.hpp:46
Typed hyperparameter search-space description: named parameters, each continuous, log-uniform,...
One recorded metric value: a named tag, its value, and the training step it was logged at (mirrors Me...
Definition trial.hpp:18
std::string tag
Definition trial.hpp:19
int step
Definition trial.hpp:21
double value
Definition trial.hpp:20