HPO¶
TorchX 集成了 Ax 以提供超参数优化 (HPO) 支持。由于 HPO 作业的语义高度可定制,特别是在贝叶斯优化的情况下,因此很难将 HPO 应用程序泛化为一个可执行组件。因此,HPO 被作为运行时模块而不是内置组件提供。这意味着 TorchX 为您提供库和工具来简化构建自己的 HPO 应用程序和组件。
HPO 应用程序¶
请参阅 使用 Ax + TorchX 进行 HPO 了解如何编写 HPO 应用程序
构建一个图像(通常是Docker图像),其中包含您的HPO应用程序, 编写组件
从宏观角度来看,HPO 应用程序设置 HPO 实验和搜索空间。每个 HPO 试验是一个任务,由在参数空间中评估 TorchX 组件获得的应用定义(AppDef)定义。这个点是由 Ax 平台内的贝叶斯优化器确定的。
搜索空间维度必须与您将要运行试验的组件的参数对齐。要启动HPO应用程序,您可以直接运行主程序,或者使用TorchX远程调用它(在这种情况下,您需要为此HPO应用程序编写一个组件)。下面的图表展示了这一点是如何工作的。
示例
The ax_test.py unittest is a great end-to-end example of how everything works. It demonstrates running an HPO experiment where each trial the TorchXbuiltin component torchx.components.utils.booth().