如何在 Ray Tune 中定义与搜索算法无关的高维搜索空间?
Posted
技术标签:
【中文标题】如何在 Ray Tune 中定义与搜索算法无关的高维搜索空间?【英文标题】:How to define SearchAlgorithm-agnostic, high-dimensional search space in Ray Tune? 【发布时间】:2019-07-22 19:23:52 【问题描述】:我有两个关于Ray Tune 的问题。首先,如何独立于使用的特定SearchAlgorithm
定义超参数搜索空间。例如,HyperOpt 使用 'height': hp.uniform('height', -100, 100)
之类的东西,而 BayesOpt 使用 'width': (0, 20)
之类的东西;是否有一些通用接口或 API?
其次,我希望能够使用 shape
参数定义超参数搜索空间,类似于定义 numpy 数组。我想要'heights': hp.uniform('height', -100, 100, shape=(10,))
之类的东西。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:是否有一些通用接口或 API?
遗憾的是,Tune 中没有用于超参数空间的通用接口。这部分是因为很难以交叉兼容的方式捕获每种特定“语言”的全部内容。
其次,我希望能够使用 shape 参数定义超参数搜索空间,类似于定义 numpy 数组。我想要类似'heights'的东西:hp.uniform('height', -100, 100, shape=(10,))。有没有办法做到这一点?
快速查看 hyperopt 代码类似于 this might be what you're looking for。
def uniform(low, high, rng=None, size=())
希望有帮助!
【讨论】:
以上是关于如何在 Ray Tune 中定义与搜索算法无关的高维搜索空间?的主要内容,如果未能解决你的问题,请参考以下文章
Ray[tune] for pytorch TypeError: ray.cloudpickle.dumps