Ray Tune: How do schedulers and search algorithms interact?

二次信任 提交于 2020-05-16 03:20:51

问题


It seems to me that the natural way to integrate hyperband with a bayesian optimization search is to have the search algorithm determine each bracket and have the hyperband scheduler run the bracket. That is to say, the bayesian optimization search runs only once per bracket. Looking at Tune's source code for this, it's not clear to me whether the Tune library applies this strategy or not.

In particular, I want to know how the Tune library handles passing between the search algorithm and trial scheduler. For instance, how does this work if I call SkOptSearch and AsyncHyperBandScheduler (or HyperBandScheduler) together as follows:

sk_search = SkOptSearch(optimizer,
 ['group','dimensions','normalize','sampling_weights','batch_size','lr_adam','loss_weight'],
 max_concurrent=4,
 reward_attr="neg_loss",
 points_to_evaluate=current_params)

hyperband = AsyncHyperBandScheduler(
        time_attr="training_iteration",
        reward_attr="neg_loss",
        max_t=50,
        grace_period=5,
        reduction_factor=2,
        brackets=5
        )

run(Trainable_Dense,
    name='hp_search_0',
    stop={"training_iteration": 9999,
         "neg_loss": -0.2},
    num_samples=75,
    resources_per_trial={'cpu':4,'gpu':1},
    local_dir='./tune_save',
    checkpoint_freq=5,
    search_alg=sk_search,
    scheduler=hyperband,
    verbose=2,
    resume=False,
    reuse_actors=True)

Based on the source code linked above and the source code here, it seems to me that sk_search would return groups of up to 4 trials at a time, but hyperband should be querying the sk_search algorithm for N_sizeofbracket trials at a time.


回答1:


There is now a Bayesian Optimization HyperBand implementation in Tune - https://ray.readthedocs.io/en/latest/tune-searchalg.html#bohb.

For standard search algorithms and schedulers, the search algorithm currently only sees the result of a trial if it is completed.



来源:https://stackoverflow.com/questions/56083501/ray-tune-how-do-schedulers-and-search-algorithms-interact

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!