Ax.dev 通过定义搜索空间的范围来限制参数搜索的步骤,因此可以在定义参数的时候添加约束条件。例如,在定义一组连续变量时,可以通过 Ax 中的 "RangeParameter" 方法定义变量的范围,如下所示:
from ax import RangeParameter, SearchSpace
search_space = SearchSpace(
parameters=[
RangeParameter(
name='learning_rate',
lower=0.001,
upper=0.1,
log_scale=True
),
...
]
)
此处将 learning_rate
的搜索范围定义为 [0.001, 0.1] 并使用对数刻度进行搜索。
此外,Ax 还支持使用 "ChoiceParameter"、"FixedParameter" 等方法来定义其他类型的变量以及更复杂的搜索空间。