使用 Tune 时工作人员提前结束

Workers ending prematurely when using Tune

我正在尝试学习 Tune 的基础知识。在下面的脚本中,我希望每个工作人员 运行 进行 100 次迭代然后结束,但是,工作人员在达到状态 3(TypeError?)的 100 次迭代之前结束。我没有看到任何错误消息,所以我可能对实际应该发生的事情感到困惑。在 10 个样本中,只有 2 个达到 100 次迭代。其余样本在 5 到 16 次迭代之间。

"""Testing Tune with CartPole."""
import ray
from ray import tune
from ray.tune.schedulers import AsyncHyperBandScheduler
from ray.tune.suggest.bayesopt import BayesOptSearch

if __name__ == "__main__":
    tune_metric = "info/learner/default_policy/critic_loss"

    space = {"gamma": (0.01, 1)}
    algo = BayesOptSearch(
        space,
        metric=tune_metric,
        mode="min",
        utility_kwargs={
            "kind": "ucb",
            "kappa": 2.5,
            "xi": 0.0
        })
    scheduler = AsyncHyperBandScheduler(metric=tune_metric, mode="min")
    ray.init()
    analysis = tune.run(
        "SAC",
        stop={"training_iteration": 100},
        search_alg=algo,
        scheduler=scheduler,
        num_samples=10,
        config={
            "env": "CartPole-v0",
            },
    )

    print("Best config: ", analysis.get_best_config(metric=tune_metric,
                                                    mode="min"))

当我尝试 运行 以下示例时,同样的事情发生了 ( mnist pytorch trainable )

scheduler = AsyncHyperBandScheduler(metric=tune_metric, mode="min")

这将自动终止表现不佳的试验。