首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以使用光线调优搜索算法指定"episodes_this_iter“吗?

可以使用光线调优搜索算法指定"episodes_this_iter“吗?
EN

Stack Overflow用户
提问于 2020-01-09 23:11:13
回答 1查看 307关注 0票数 1

我不熟悉/ Ray编程,我有一个简单的问题,那就是在使用Ray Tune时可以指定哪些参数。特别是,光线调优文档指出,所有自动填充的字段(steps_this_iter、episodes_this_iter等)可用作停止条件或在调度程序/搜索算法规范中使用。

但是,只有当我删除"episodes_this_iter“规范时,下面的方法才有效。这是否仅作为停止标准的一部分?

代码语言:javascript
复制
ray.init()
tune.run(
    PPOTrainer,
    stop = {"training_iteration": 1000},
    config={"env": qsdm.QSDEnv,
          "env_config": defaultconfig,
            "num_gpus": 0,
            "num_workers": 1,
            "lr": tune.grid_search([0.00005, 0.00001, 0.0001]),}, 
    "episodes_this_iter": 2500, 
)
EN

回答 1

Stack Overflow用户

发布于 2020-01-20 13:04:54

tune.run()填充了这些字段,因此我们可以在其他地方使用它们。而停止标准只是我们可以使用它们的地方之一。

要了解该示例不起作用的原因,请考虑一个更简单的类比:episodes_total: 100

训练器本身就是增加剧集数量的人,这样系统的其余部分就可以知道我们进行了多远。如果我们试图改变它或将它固定为一个特定值,它不会对它们起作用。同样的推理也适用于list中的其他字段。

至于schedulersearch algorithms,我没有使用经验。但我们要做的是将这些条件放在时间表或搜索算法本身中,而不是直接放在训练器中。

下面是一个使用Bayesian optimisation search的例子,尽管我不知道这样做意味着什么:

代码语言:javascript
复制
from ray.tune.suggest.bayesopt import BayesOptSearch

tune.run(

        # ...

        # 10 trials
        num_samples=10,

        search_alg=BayesOptSearch(

                # look for learning rates within this range:
                {'lr': (0.1, 0.00001)},

                # optimise for this metric:
                metric='episodes_this_iter',  # <------- auto-filled field here
                mode='max',

                utility_kwargs={
                        'kind': 'ucb',
                        'kappa': '2.5',
                        'xi': 0.0
                }
        )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59666932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档