• 教程 >
  • 使用 Ax 进行多目标 NAS
快捷方式

使用 Ax 进行多目标 NAS

创建于:2022 年 8 月 19 日 | 最后更新:2024 年 7 月 31 日 | 最后验证:2024 年 11 月 05 日

作者: David ErikssonMax Balandat 以及 Meta 的自适应实验团队。

在本教程中,我们将展示如何使用 Ax 在流行的 MNIST 数据集上为简单的神经网络模型运行多目标神经架构搜索 (NAS)。虽然底层方法通常用于更复杂的模型和更大的数据集,但我们选择了一个教程,该教程可以在不到 20 分钟的时间内轻松地在笔记本电脑上端到端运行。

在许多 NAS 应用中,多个感兴趣的目标之间存在自然的权衡。例如,在设备上部署模型时,我们可能希望最大化模型性能(例如,准确率),同时最小化竞争指标,如功耗、推理延迟或模型大小,以满足部署约束。通常,我们可能能够通过接受稍微降低的模型性能来大幅降低计算需求或预测延迟。有效探索此类权衡的原则性方法是可扩展和可持续 AI 的关键推动因素,并在 Meta 中有许多成功的应用——例如,请参阅我们关于自然语言理解模型的案例研究

在我们的示例中,我们将调整两个隐藏层的宽度、学习率、dropout 概率、批大小和训练 epoch 数。目标是在性能(验证集上的准确率)和模型大小(模型参数的数量)之间进行权衡。

本教程使用了以下 PyTorch 库

  • PyTorch Lightning(指定模型和训练循环)

  • TorchX(用于远程/异步运行训练作业)

  • BoTorch(为 Ax 算法提供支持的贝叶斯优化库)

定义 TorchX 应用

我们的目标是优化在 mnist_train_nas.py 中定义的 PyTorch Lightning 训练作业。为了使用 TorchX 执行此操作,我们编写了一个辅助函数,该函数接受训练作业的架构和超参数值,并使用适当的设置创建 TorchX AppDef

from pathlib import Path

import torchx

from torchx import specs
from torchx.components import utils


def trainer(
    log_path: str,
    hidden_size_1: int,
    hidden_size_2: int,
    learning_rate: float,
    epochs: int,
    dropout: float,
    batch_size: int,
    trial_idx: int = -1,
) -> specs.AppDef:

    # define the log path so we can pass it to the TorchX ``AppDef``
    if trial_idx >= 0:
        log_path = Path(log_path).joinpath(str(trial_idx)).absolute().as_posix()

    return utils.python(
        # command line arguments to the training script
        "--log_path",
        log_path,
        "--hidden_size_1",
        str(hidden_size_1),
        "--hidden_size_2",
        str(hidden_size_2),
        "--learning_rate",
        str(learning_rate),
        "--epochs",
        str(epochs),
        "--dropout",
        str(dropout),
        "--batch_size",
        str(batch_size),
        # other config options
        name="trainer",
        script="mnist_train_nas.py",
        image=torchx.version.TORCHX_IMAGE,
    )

设置 Runner

Ax 的 Runner 抽象允许编写到各种后端的接口。Ax 已经带有 TorchX 的 Runner,因此我们只需要配置它。为了本教程的目的,我们在本地以完全异步的方式运行作业。

为了在集群上启动它们,您可以改为指定不同的 TorchX 调度器并适当调整配置。例如,如果您有 Kubernetes 集群,您只需要将调度器从 local_cwd 更改为 kubernetes

import tempfile
from ax.runners.torchx import TorchXRunner

# Make a temporary dir to log our results into
log_dir = tempfile.mkdtemp()

ax_runner = TorchXRunner(
    tracker_base="/tmp/",
    component=trainer,
    # NOTE: To launch this job on a cluster instead of locally you can
    # specify a different scheduler and adjust arguments appropriately.
    scheduler="local_cwd",
    component_const_params={"log_path": log_dir},
    cfg={},
)

设置 SearchSpace

首先,我们定义我们的搜索空间。Ax 支持整数和浮点类型的范围参数,以及可以选择非数值类型(如字符串)的选择参数。我们将调整隐藏大小、学习率、dropout 和 epoch 数作为范围参数,并将批大小调整为有序选择参数,以强制其为 2 的幂。

from ax.core import (
    ChoiceParameter,
    ParameterType,
    RangeParameter,
    SearchSpace,
)

parameters = [
    # NOTE: In a real-world setting, hidden_size_1 and hidden_size_2
    # should probably be powers of 2, but in our simple example this
    # would mean that ``num_params`` can't take on that many values, which
    # in turn makes the Pareto frontier look pretty weird.
    RangeParameter(
        name="hidden_size_1",
        lower=16,
        upper=128,
        parameter_type=ParameterType.INT,
        log_scale=True,
    ),
    RangeParameter(
        name="hidden_size_2",
        lower=16,
        upper=128,
        parameter_type=ParameterType.INT,
        log_scale=True,
    ),
    RangeParameter(
        name="learning_rate",
        lower=1e-4,
        upper=1e-2,
        parameter_type=ParameterType.FLOAT,
        log_scale=True,
    ),
    RangeParameter(
        name="epochs",
        lower=1,
        upper=4,
        parameter_type=ParameterType.INT,
    ),
    RangeParameter(
        name="dropout",
        lower=0.0,
        upper=0.5,
        parameter_type=ParameterType.FLOAT,
    ),
    ChoiceParameter(  # NOTE: ``ChoiceParameters`` don't require log-scale
        name="batch_size",
        values=[32, 64, 128, 256],
        parameter_type=ParameterType.INT,
        is_ordered=True,
        sort_values=True,
    ),
]

search_space = SearchSpace(
    parameters=parameters,
    # NOTE: In practice, it may make sense to add a constraint
    # hidden_size_2 <= hidden_size_1
    parameter_constraints=[],
)

设置指标

Ax 具有 指标 的概念,该概念定义了结果的属性以及如何获得这些结果的观测值。这允许例如编码如何从某些分布式执行后端获取数据,并在将其作为输入传递给 Ax 之前进行后处理。

在本教程中,我们将使用 多目标优化,目标是最大化验证准确率并最小化模型参数的数量。后者代表了模型延迟的简单代理,对于小型 ML 模型来说,模型延迟很难准确估计(在实际应用中,我们会在设备上运行模型时基准测试延迟)。

在我们的示例中,TorchX 将在本地以完全异步的方式运行训练作业,并将结果写入基于试验索引的 log_dir(请参阅上面的 trainer() 函数)。我们将定义一个指标类,该类知道该日志目录。通过子类化 TensorboardCurveMetric,我们可以免费获得读取和解析 TensorBoard 日志的逻辑。

from ax.metrics.tensorboard import TensorboardMetric
from tensorboard.backend.event_processing import plugin_event_multiplexer as event_multiplexer

class MyTensorboardMetric(TensorboardMetric):

    # NOTE: We need to tell the new TensorBoard metric how to get the id /
    # file handle for the TensorBoard logs from a trial. In this case
    # our convention is to just save a separate file per trial in
    # the prespecified log dir.
    def _get_event_multiplexer_for_trial(self, trial):
        mul = event_multiplexer.EventMultiplexer(max_reload_threads=20)
        mul.AddRunsFromDirectory(Path(log_dir).joinpath(str(trial.index)).as_posix(), None)
        mul.Reload()

        return mul

    # This indicates whether the metric is queryable while the trial is
    # still running. We don't use this in the current tutorial, but Ax
    # utilizes this to implement trial-level early-stopping functionality.
    @classmethod
    def is_available_while_running(cls):
        return False

现在我们可以实例化准确率和模型参数数量的指标。此处 curve_name 是 TensorBoard 日志中指标的名称,而 name 是 Ax 内部使用的指标名称。我们还指定 lower_is_better 以指示两个指标的有利方向。

val_acc = MyTensorboardMetric(
    name="val_acc",
    tag="val_acc",
    lower_is_better=False,
)
model_num_params = MyTensorboardMetric(
    name="num_params",
    tag="num_params",
    lower_is_better=True,
)

设置 OptimizationConfig

告诉 Ax 它应该优化什么的方法是通过 OptimizationConfig。这里我们使用 MultiObjectiveOptimizationConfig,因为我们将执行多目标优化。

此外,Ax 支持通过指定目标阈值来约束不同指标,目标阈值限制了我们想要探索的结果空间中的感兴趣区域。对于此示例,我们将验证准确率约束为至少 0.94 (94%),模型参数的数量约束为最多 80,000。

from ax.core import MultiObjective, Objective, ObjectiveThreshold
from ax.core.optimization_config import MultiObjectiveOptimizationConfig


opt_config = MultiObjectiveOptimizationConfig(
    objective=MultiObjective(
        objectives=[
            Objective(metric=val_acc, minimize=False),
            Objective(metric=model_num_params, minimize=True),
        ],
    ),
    objective_thresholds=[
        ObjectiveThreshold(metric=val_acc, bound=0.94, relative=False),
        ObjectiveThreshold(metric=model_num_params, bound=80_000, relative=False),
    ],
)

创建 Ax 实验

在 Ax 中,Experiment 对象是存储有关问题设置的所有信息的对象。

from ax.core import Experiment

experiment = Experiment(
    name="torchx_mnist",
    search_space=search_space,
    optimization_config=opt_config,
    runner=ax_runner,
)

选择生成策略

GenerationStrategy 是我们希望如何执行优化的抽象表示。虽然可以自定义它(如果您想这样做,请参阅本教程),但在大多数情况下,Ax 可以根据搜索空间、优化配置和我们想要运行的试验总数自动确定合适的策略。

通常,Ax 选择在启动基于模型的贝叶斯优化策略之前评估一些随机配置。

total_trials = 48  # total evaluation budget

from ax.modelbridge.dispatch_utils import choose_generation_strategy

gs = choose_generation_strategy(
    search_space=experiment.search_space,
    optimization_config=experiment.optimization_config,
    num_trials=total_trials,
  )
[INFO 02-03 16:47:51] ax.modelbridge.dispatch_utils: Using Models.BOTORCH_MODULAR since there is at least one ordered parameter and there are no unordered categorical parameters.
[INFO 02-03 16:47:51] ax.modelbridge.dispatch_utils: Calculating the number of remaining initialization trials based on num_initialization_trials=None max_initialization_trials=None num_tunable_parameters=6 num_trials=48 use_batch_trials=False
[INFO 02-03 16:47:51] ax.modelbridge.dispatch_utils: calculated num_initialization_trials=9
[INFO 02-03 16:47:51] ax.modelbridge.dispatch_utils: num_completed_initialization_trials=0 num_remaining_initialization_trials=9
[INFO 02-03 16:47:51] ax.modelbridge.dispatch_utils: `verbose`, `disable_progbar`, and `jit_compile` are not yet supported when using `choose_generation_strategy` with ModularBoTorchModel, dropping these arguments.
[INFO 02-03 16:47:51] ax.modelbridge.dispatch_utils: Using Bayesian Optimization generation strategy: GenerationStrategy(name='Sobol+BoTorch', steps=[Sobol for 9 trials, BoTorch for subsequent trials]). Iterations after 9 will take longer to generate due to model-fitting.

配置调度器

Scheduler 充当优化的循环控制。它与后端通信以启动试验、检查其状态并检索结果。在本教程中,它只是读取和解析本地保存的日志。在远程执行设置中,它将调用 API。来自 Ax Scheduler 教程 的以下插图总结了 Scheduler 如何与用于运行试验评估的外部系统交互

../_static/img/ax_scheduler_illustration.png

Scheduler 需要 ExperimentGenerationStrategy。可以通过 SchedulerOptions 传入一组选项。在这里,我们将总评估次数以及 max_pending_trials 配置为最大并发运行试验数。在我们的本地设置中,这是作为单独进程运行的训练作业的数量,而在远程执行设置中,这将是您想要并行使用的机器数量。

from ax.service.scheduler import Scheduler, SchedulerOptions

scheduler = Scheduler(
    experiment=experiment,
    generation_strategy=gs,
    options=SchedulerOptions(
        total_trials=total_trials, max_pending_trials=4
    ),
)
[WARNING 02-03 16:47:51] ax.service.utils.with_db_settings_base: Ax currently requires a sqlalchemy version below 2.0. This will be addressed in a future release. Disabling SQL storage in Ax for now, if you would like to use SQL storage please install Ax with mysql extras via `pip install ax-platform[mysql]`.
[INFO 02-03 16:47:51] Scheduler: `Scheduler` requires experiment to have immutable search space and optimization config. Setting property immutable_search_space_and_opt_config to `True` on experiment.

运行优化

现在一切都已配置好,我们可以让 Ax 以完全自动化的方式运行优化。Scheduler 将定期检查日志以了解所有当前正在运行的试验的状态,如果试验完成,调度器将更新其在实验中的状态并获取贝叶斯优化算法所需的观测值。

scheduler.run_all_trials()
[INFO 02-03 16:47:51] Scheduler: Fetching data for newly completed trials: [].
/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:47:51] Scheduler: Running trials [0]...
/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:47:52] Scheduler: Running trials [1]...
/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:47:53] Scheduler: Running trials [2]...
/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:47:54] Scheduler: Running trials [3]...
[INFO 02-03 16:47:55] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:47:55] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 4).
[INFO 02-03 16:47:56] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:47:56] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 4).
[INFO 02-03 16:47:57] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:47:57] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 4).
[INFO 02-03 16:47:59] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:47:59] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 4).
[INFO 02-03 16:48:03] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:03] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 4).
[INFO 02-03 16:48:08] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:08] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 4).
[INFO 02-03 16:48:16] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:16] Scheduler: Waiting for completed trials (for 11 sec, currently running trials: 4).
[INFO 02-03 16:48:27] Scheduler: Fetching data for newly completed trials: [1, 3].
[INFO 02-03 16:48:27] Scheduler: Retrieved COMPLETED trials: [1, 3].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:48:27] Scheduler: Running trials [4]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:48:28] Scheduler: Running trials [5]...
[INFO 02-03 16:48:29] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:29] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 4).
[INFO 02-03 16:48:30] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:30] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 4).
[INFO 02-03 16:48:32] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:32] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 4).
[INFO 02-03 16:48:34] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:34] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 4).
[INFO 02-03 16:48:37] Scheduler: Fetching data for newly completed trials: [2].
[INFO 02-03 16:48:37] Scheduler: Retrieved COMPLETED trials: [2].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:48:37] Scheduler: Running trials [6]...
[INFO 02-03 16:48:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:38] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 4).
[INFO 02-03 16:48:39] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:39] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 4).
[INFO 02-03 16:48:41] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:41] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 4).
[INFO 02-03 16:48:43] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:43] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 4).
[INFO 02-03 16:48:46] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:46] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 4).
[INFO 02-03 16:48:52] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:48:52] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 4).
[INFO 02-03 16:48:59] Scheduler: Fetching data for newly completed trials: [4].
[INFO 02-03 16:48:59] Scheduler: Retrieved COMPLETED trials: [4].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:48:59] Scheduler: Running trials [7]...
[INFO 02-03 16:49:00] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:00] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 4).
[INFO 02-03 16:49:01] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:01] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 4).
[INFO 02-03 16:49:03] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:03] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 4).
[INFO 02-03 16:49:05] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:05] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 4).
[INFO 02-03 16:49:08] Scheduler: Fetching data for newly completed trials: [6].
[INFO 02-03 16:49:08] Scheduler: Retrieved COMPLETED trials: [6].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/modelbridge/cross_validation.py:463: UserWarning:

Encountered exception in computing model fit quality: RandomModelBridge does not support prediction.

[INFO 02-03 16:49:08] Scheduler: Running trials [8]...
[INFO 02-03 16:49:09] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:09] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 4).
[INFO 02-03 16:49:10] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:10] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 4).
[INFO 02-03 16:49:12] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:12] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 4).
[INFO 02-03 16:49:14] Scheduler: Fetching data for newly completed trials: [5].
[INFO 02-03 16:49:14] Scheduler: Retrieved COMPLETED trials: [5].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:49:17] Scheduler: Running trials [9]...
[INFO 02-03 16:49:18] Scheduler: Fetching data for newly completed trials: [0].
[INFO 02-03 16:49:18] Scheduler: Retrieved COMPLETED trials: [0].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:49:23] Scheduler: Running trials [10]...
[INFO 02-03 16:49:24] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:24] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 4).
[INFO 02-03 16:49:25] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:25] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 4).
[INFO 02-03 16:49:27] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:27] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 4).
[INFO 02-03 16:49:29] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:29] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 4).
[INFO 02-03 16:49:32] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:32] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 4).
[INFO 02-03 16:49:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:38] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 4).
[INFO 02-03 16:49:45] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:49:45] Scheduler: Waiting for completed trials (for 11 sec, currently running trials: 4).
[INFO 02-03 16:49:57] Scheduler: Fetching data for newly completed trials: [9].
[INFO 02-03 16:49:57] Scheduler: Retrieved COMPLETED trials: [9].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:50:01] Scheduler: Running trials [11]...
[INFO 02-03 16:50:02] Scheduler: Fetching data for newly completed trials: [8].
[INFO 02-03 16:50:02] Scheduler: Retrieved COMPLETED trials: [8].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:50:06] Scheduler: Running trials [12]...
[INFO 02-03 16:50:08] Scheduler: Fetching data for newly completed trials: [7, 10].
[INFO 02-03 16:50:08] Scheduler: Retrieved COMPLETED trials: [7, 10].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:50:14] Scheduler: Running trials [13]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:50:17] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:50:17] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:17] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:50:18] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:18] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:50:20] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:20] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:50:22] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:22] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:50:25] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:25] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:50:30] Scheduler: Fetching data for newly completed trials: [11].
[INFO 02-03 16:50:30] Scheduler: Retrieved COMPLETED trials: [11].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:50:36] Scheduler: Running trials [14]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:50:40] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:50:40] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:40] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:50:41] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:41] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:50:43] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:43] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:50:45] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:45] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:50:48] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:50:48] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:50:54] Scheduler: Fetching data for newly completed trials: [12].
[INFO 02-03 16:50:54] Scheduler: Retrieved COMPLETED trials: [12].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:51:01] Scheduler: Running trials [15]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:51:05] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:51:05] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:05] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:51:06] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:06] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:51:07] Scheduler: Fetching data for newly completed trials: [13].
[INFO 02-03 16:51:07] Scheduler: Retrieved COMPLETED trials: [13].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:51:12] Scheduler: Running trials [16]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:51:17] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:51:17] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:17] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:51:18] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:18] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:51:19] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:19] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:51:21] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:21] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:51:25] Scheduler: Fetching data for newly completed trials: [15].
[INFO 02-03 16:51:25] Scheduler: Retrieved COMPLETED trials: [15].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:51:31] Scheduler: Running trials [17]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:51:36] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:51:36] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:36] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:51:37] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:37] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:51:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:38] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:51:41] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:41] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:51:44] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:44] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:51:49] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:49] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 3).
[INFO 02-03 16:51:57] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:51:57] Scheduler: Waiting for completed trials (for 11 sec, currently running trials: 3).
[INFO 02-03 16:52:08] Scheduler: Fetching data for newly completed trials: [14].
[INFO 02-03 16:52:08] Scheduler: Retrieved COMPLETED trials: [14].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:52:15] Scheduler: Running trials [18]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:52:21] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:52:21] Scheduler: Fetching data for newly completed trials: [16].
[INFO 02-03 16:52:21] Scheduler: Retrieved COMPLETED trials: [16].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:52:29] Scheduler: Running trials [19]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:52:35] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:52:35] Scheduler: Fetching data for newly completed trials: [17].
[INFO 02-03 16:52:35] Scheduler: Retrieved COMPLETED trials: [17].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:52:44] Scheduler: Running trials [20]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:52:50] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:52:50] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:52:50] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:52:51] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:52:51] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:52:53] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:52:53] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:52:55] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:52:55] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:52:58] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:52:58] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:53:03] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:53:03] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 3).
[INFO 02-03 16:53:11] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:53:11] Scheduler: Waiting for completed trials (for 11 sec, currently running trials: 3).
[INFO 02-03 16:53:22] Scheduler: Fetching data for newly completed trials: [18].
[INFO 02-03 16:53:22] Scheduler: Retrieved COMPLETED trials: [18].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:53:29] Scheduler: Running trials [21]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:53:34] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:53:34] Scheduler: Fetching data for newly completed trials: [19].
[INFO 02-03 16:53:34] Scheduler: Retrieved COMPLETED trials: [19].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:53:43] Scheduler: Running trials [22]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:53:49] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:53:49] Scheduler: Fetching data for newly completed trials: [20].
[INFO 02-03 16:53:49] Scheduler: Retrieved COMPLETED trials: [20].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:53:59] Scheduler: Running trials [23]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:54:04] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:54:04] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:04] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:54:05] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:05] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:54:06] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:06] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:54:09] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:09] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:54:12] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:12] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:54:17] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:17] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 3).
[INFO 02-03 16:54:25] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:25] Scheduler: Waiting for completed trials (for 11 sec, currently running trials: 3).
[INFO 02-03 16:54:36] Scheduler: Fetching data for newly completed trials: [21].
[INFO 02-03 16:54:36] Scheduler: Retrieved COMPLETED trials: [21].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:54:45] Scheduler: Running trials [24]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:54:51] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:54:51] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:51] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:54:52] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:52] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:54:53] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:54:53] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:54:55] Scheduler: Fetching data for newly completed trials: [23].
[INFO 02-03 16:54:55] Scheduler: Retrieved COMPLETED trials: [23].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:55:05] Scheduler: Running trials [25]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:55:10] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:55:11] Scheduler: Fetching data for newly completed trials: [22].
[INFO 02-03 16:55:11] Scheduler: Retrieved COMPLETED trials: [22].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:55:22] Scheduler: Running trials [26]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:55:32] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:55:32] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:55:32] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:55:33] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:55:33] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:55:34] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:55:34] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:55:37] Scheduler: Fetching data for newly completed trials: [25].
[INFO 02-03 16:55:37] Scheduler: Retrieved COMPLETED trials: [25].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:55:46] Scheduler: Running trials [27]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:55:53] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:55:53] Scheduler: Fetching data for newly completed trials: [24].
[INFO 02-03 16:55:53] Scheduler: Retrieved COMPLETED trials: [24].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:56:01] Scheduler: Running trials [28]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:56:07] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:56:07] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:07] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:56:08] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:08] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:56:09] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:09] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:56:11] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:11] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:56:15] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:15] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:56:20] Scheduler: Fetching data for newly completed trials: [26].
[INFO 02-03 16:56:20] Scheduler: Retrieved COMPLETED trials: [26].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:56:29] Scheduler: Running trials [29]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:56:35] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:56:35] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:35] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:56:36] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:36] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:56:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:38] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:56:40] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:40] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:56:43] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:43] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:56:48] Scheduler: Fetching data for newly completed trials: [27].
[INFO 02-03 16:56:48] Scheduler: Retrieved COMPLETED trials: [27].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:56:55] Scheduler: Running trials [30]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:56:59] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:56:59] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:56:59] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:57:00] Scheduler: Fetching data for newly completed trials: [28].
[INFO 02-03 16:57:00] Scheduler: Retrieved COMPLETED trials: [28].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:57:12] Scheduler: Running trials [31]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:57:21] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:57:21] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:21] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:57:22] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:22] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:57:23] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:23] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:57:26] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:26] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:57:29] Scheduler: Fetching data for newly completed trials: [29].
[INFO 02-03 16:57:29] Scheduler: Retrieved COMPLETED trials: [29].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:57:44] Scheduler: Running trials [32]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:57:54] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:57:54] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:54] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:57:55] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:55] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:57:56] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:56] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:57:58] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:57:58] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:58:02] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:58:02] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:58:07] Scheduler: Fetching data for newly completed trials: [31].
[INFO 02-03 16:58:07] Scheduler: Retrieved COMPLETED trials: [31].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:58:19] Scheduler: Running trials [33]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:58:25] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:58:25] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:58:25] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:58:26] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:58:26] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:58:27] Scheduler: Fetching data for newly completed trials: [30].
[INFO 02-03 16:58:27] Scheduler: Retrieved COMPLETED trials: [30].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:58:38] Scheduler: Running trials [34]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:58:45] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:58:45] Scheduler: Fetching data for newly completed trials: 32 - 33.
[INFO 02-03 16:58:45] Scheduler: Retrieved COMPLETED trials: 32 - 33.
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:58:55] Scheduler: Running trials [35]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:59:05] Scheduler: Running trials [36]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:59:12] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 16:59:12] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:12] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 16:59:13] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:13] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 16:59:14] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:14] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 16:59:16] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:16] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 16:59:20] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:20] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 16:59:25] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:25] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 3).
[INFO 02-03 16:59:32] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 16:59:32] Scheduler: Waiting for completed trials (for 11 sec, currently running trials: 3).
[INFO 02-03 16:59:44] Scheduler: Fetching data for newly completed trials: 34 - 35.
[INFO 02-03 16:59:44] Scheduler: Retrieved COMPLETED trials: 34 - 35.
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 16:59:55] Scheduler: Running trials [37]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:00:07] Scheduler: Running trials [38]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:00:14] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:00:14] Scheduler: Fetching data for newly completed trials: [36].
[INFO 02-03 17:00:14] Scheduler: Retrieved COMPLETED trials: [36].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:00:26] Scheduler: Running trials [39]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:00:36] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:00:36] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:00:36] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 17:00:37] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:00:37] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 17:00:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:00:38] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 17:00:40] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:00:40] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 17:00:44] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:00:44] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 17:00:49] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:00:49] Scheduler: Waiting for completed trials (for 7 sec, currently running trials: 3).
[INFO 02-03 17:00:57] Scheduler: Fetching data for newly completed trials: 37 - 38.
[INFO 02-03 17:00:57] Scheduler: Retrieved COMPLETED trials: 37 - 38.
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:01:08] Scheduler: Running trials [40]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:01:21] Scheduler: Running trials [41]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:01:30] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:01:30] Scheduler: Fetching data for newly completed trials: [39].
[INFO 02-03 17:01:30] Scheduler: Retrieved COMPLETED trials: [39].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:01:43] Scheduler: Running trials [42]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:01:54] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:01:54] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:01:54] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 17:01:55] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:01:55] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 17:01:56] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:01:56] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 17:01:58] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:01:58] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 17:02:02] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:02:02] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 17:02:07] Scheduler: Fetching data for newly completed trials: [40].
[INFO 02-03 17:02:07] Scheduler: Retrieved COMPLETED trials: [40].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:02:15] Scheduler: Running trials [43]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:02:20] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:02:20] Scheduler: Fetching data for newly completed trials: [41].
[INFO 02-03 17:02:20] Scheduler: Retrieved COMPLETED trials: [41].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:02:31] Scheduler: Running trials [44]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:02:38] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:02:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:02:38] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 17:02:39] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:02:39] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 17:02:40] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:02:40] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 17:02:43] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:02:43] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 17:02:46] Scheduler: Fetching data for newly completed trials: [42].
[INFO 02-03 17:02:46] Scheduler: Retrieved COMPLETED trials: [42].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:02:58] Scheduler: Running trials [45]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:03:05] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:03:05] Scheduler: Fetching data for newly completed trials: [44].
[INFO 02-03 17:03:05] Scheduler: Retrieved COMPLETED trials: [44].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:03:18] Scheduler: Running trials [46]...
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:03:26] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 02-03 17:03:26] Scheduler: Fetching data for newly completed trials: [43].
[INFO 02-03 17:03:26] Scheduler: Retrieved COMPLETED trials: [43].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:03:37] Scheduler: Running trials [47]...
[INFO 02-03 17:03:38] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:38] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 3).
[INFO 02-03 17:03:39] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:39] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 3).
[INFO 02-03 17:03:41] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:41] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 3).
[INFO 02-03 17:03:43] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:43] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 3).
[INFO 02-03 17:03:46] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:46] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 3).
[INFO 02-03 17:03:51] Scheduler: Fetching data for newly completed trials: [45].
[INFO 02-03 17:03:51] Scheduler: Retrieved COMPLETED trials: [45].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:03:52] Scheduler: Done submitting trials, waiting for remaining 2 running trials...
[INFO 02-03 17:03:52] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:52] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 2).
[INFO 02-03 17:03:53] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:53] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 2).
[INFO 02-03 17:03:54] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:54] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 2).
[INFO 02-03 17:03:56] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:03:56] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 2).
[INFO 02-03 17:04:00] Scheduler: Fetching data for newly completed trials: [47].
[INFO 02-03 17:04:00] Scheduler: Retrieved COMPLETED trials: [47].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[INFO 02-03 17:04:00] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:04:00] Scheduler: Waiting for completed trials (for 1 sec, currently running trials: 1).
[INFO 02-03 17:04:01] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:04:01] Scheduler: Waiting for completed trials (for 1.5 sec, currently running trials: 1).
[INFO 02-03 17:04:02] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:04:02] Scheduler: Waiting for completed trials (for 2 sec, currently running trials: 1).
[INFO 02-03 17:04:04] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:04:04] Scheduler: Waiting for completed trials (for 3 sec, currently running trials: 1).
[INFO 02-03 17:04:08] Scheduler: Fetching data for newly completed trials: [].
[INFO 02-03 17:04:08] Scheduler: Waiting for completed trials (for 5 sec, currently running trials: 1).
[INFO 02-03 17:04:13] Scheduler: Fetching data for newly completed trials: [46].
[INFO 02-03 17:04:13] Scheduler: Retrieved COMPLETED trials: [46].
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.


OptimizationResult()

评估结果

我们现在可以使用 Ax 附带的辅助函数和可视化来检查优化结果。

首先,我们生成一个数据框,其中包含实验结果的摘要。此数据框中的每一行对应一个试验(即,运行的训练作业),并包含有关试验状态、评估的参数配置以及观察到的指标值的信息。这提供了一种简单的健全性检查优化方法。

from ax.service.utils.report_utils import exp_to_df

df = exp_to_df(experiment)
df.head(10)
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[WARNING 02-03 17:04:13] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.
trial_index arm_name trial_status generation_method is_feasible num_params val_acc hidden_size_1 hidden_size_2 learning_rate epochs dropout batch_size
0 0 0_0 已完成 Sobol False 16810.0 0.883973 19 66 0.003182 4 0.190970 32
1 1 1_0 已完成 Sobol False 40280.0 0.918498 50 18 0.000614 2 0.425028 128
2 2 2_0 已完成 Sobol False 112720.0 0.963316 127 96 0.001233 3 0.334354 256
3 3 3_0 已完成 Sobol False 30653.0 0.907889 37 35 0.000234 1 0.037933 64
4 4 4_0 已完成 Sobol False 26056.0 0.923292 28 108 0.000339 1 0.062996 32
5 5 5_0 已完成 Sobol True 71312.0 0.953213 87 32 0.006412 3 0.297078 128
6 6 6_0 已完成 Sobol False 50051.0 0.866982 59 55 0.000116 2 0.458433 256
7 7 7_0 已完成 Sobol False 19530.0 0.937533 24 21 0.002236 4 0.161959 64
8 8 8_0 已完成 Sobol False 18080.0 0.906884 20 80 0.000163 3 0.388082 64
9 9 9_0 已完成 BoTorch True 38672.0 0.954845 41 128 0.002599 2 0.170741 128


我们还可以可视化验证准确率和模型参数数量之间权衡的 Pareto 前沿。

提示

Ax 使用 Plotly 生成交互式绘图,允许您执行缩放、裁剪或悬停等操作,以查看绘图组件的详细信息。试用一下,如果您想了解更多信息,请查看可视化教程)。

最终优化结果如下图所示,其中颜色对应于每个试验的迭代次数。我们看到我们的方法能够成功探索权衡,并找到具有高验证准确率的大型模型以及具有相对较低验证准确率的小型模型。

from ax.service.utils.report_utils import _pareto_frontier_scatter_2d_plotly

_pareto_frontier_scatter_2d_plotly(experiment)
/usr/local/lib/python3.10/dist-packages/ax/core/map_data.py:195: FutureWarning:

The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.

[WARNING 02-03 17:04:13] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.


为了更好地理解我们的代理模型学到了关于黑盒目标的什么信息,我们可以查看留一法交叉验证结果。由于我们的模型是高斯过程,它们不仅提供点预测,还提供关于这些预测的不确定性估计。一个好的模型意味着预测均值(图中的点)接近 45 度线,并且置信区间以预期的频率(这里我们使用 95% 置信区间,因此我们期望它们在 95% 的时间内包含真实观测值)覆盖 45 度线。

如下图所示,模型大小 (num_params) 指标比验证准确率 (val_acc) 指标更容易建模。

from ax.modelbridge.cross_validation import compute_diagnostics, cross_validate
from ax.plot.diagnostic import interact_cross_validation_plotly
from ax.utils.notebook.plotting import init_notebook_plotting, render

cv = cross_validate(model=gs.model)  # The surrogate model is stored on the ``GenerationStrategy``
compute_diagnostics(cv)

interact_cross_validation_plotly(cv)


我们还可以制作等高线图,以更好地了解不同的目标如何依赖于两个输入参数。在下图中,我们显示了模型预测的验证准确率,它是两个隐藏大小的函数。验证准确率随着隐藏大小的增加而明显增加。

from ax.plot.contour import interact_contour_plotly

interact_contour_plotly(model=gs.model, metric_name="val_acc")


类似地,我们在下图中显示了模型参数的数量,它是隐藏大小的函数,并看到它也随着隐藏大小的函数而增加(对 hidden_size_1 的依赖性要大得多)。

interact_contour_plotly(model=gs.model, metric_name="num_params")


致谢

我们感谢 TorchX 团队(特别是 Kiuk Chung 和 Tristan Rice)在将 TorchX 与 Ax 集成方面的帮助。

脚本的总运行时间: ( 16 分钟 36.839 秒)

图库由 Sphinx-Gallery 生成

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得解答

查看资源