« Back to top page

Intermediate

Intermediate

Multi-Metric Pruner

Abstract Optuna’s built-in trial.report() raises NotImplementedError in multi-objective studies. MultiMetricPruner works around this by storing intermediate values in trial user attributes and constructing a synthetic single-objective study for the wrapped base pruner to evaluate. The pruning mode is selected via the joint argument: | Mode | `joint` | `report` call (Example with `metric_names = ["loss", "acc"]`) | | ------------ | ------- | ---------------------------------------------------------------------------------- | | Multi-metric | `True` | `trial.report({"loss": v1, "acc": v2}, step)` | | Per-metric | `False` | `trial.