ray.tune.ResultGrid.get_数据框#

ResultGrid.get_dataframe(filter_metric: str | None = None, filter_mode: str | None = None) pandas.DataFrame[源代码]#

返回包含所有试验及其配置和报告结果的数据框。

默认情况下,这将返回每个试验的最新报告结果。

如果设置了 filter_metricfilter_mode,则每个试验的结果会根据此指标和模式进行过滤。例如,如果 filter_metric="some_metric"filter_mode="max",则对于每个试验,会检查所有接收到的结果,并返回其中 some_metric 值最大的那个。

示例

from ray import train
from ray.train import RunConfig
from ray.tune import Tuner

def training_loop_per_worker(config):
    train.report({"accuracy": 0.8})

result_grid = Tuner(
    trainable=training_loop_per_worker,
    run_config=RunConfig(name="my_tune_run")
).fit()

# Get last reported results per trial
df = result_grid.get_dataframe()

# Get best ever reported accuracy per trial
df = result_grid.get_dataframe(
    filter_metric="accuracy", filter_mode="max"
)
参数:
  • filter_metric – 用于过滤最佳结果的指标。

  • filter_mode – 如果给出了 filter_metric,则指定是寻找最小结果还是最大结果,可选值为 ["min", "max"] 之一。

返回:

Pandas DataFrame,每一行代表一个试验,每一列代表其结果。