使用 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")
这将自动终止表现不佳的试验。
我正在尝试学习 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")
这将自动终止表现不佳的试验。