Neuraxle 中的默认超参数值
Default hyperparameter values in Neuraxle
在 Neuraxle 中实现管道组件,我想知道是否可以 and/or 建议使用超参数的默认值。查看代码和文档,我猜它不受支持,但我在文档中找不到任何提及。我注意到 here 超参数是在设置阶段之前设置的,这让我怀疑在代码中设置默认值是“不可能的”。
最好使用默认值,因为它允许更多的超参数选项,而无需在训练时明确定义它们。它还允许在不破坏现有训练代码的情况下添加超参数。默认值的缺点是增加了复杂性,如果默认值发生变化,可能会出现重现性问题。
如有任何见解,我们将不胜感激。
如果我很好地理解你的问题,完全可以为超参数设置默认值。您可以使用 step class 构造函数来执行此操作。为此,您的参数只需要在超参数 space.
中具有相应的 FixedHyperparameter 实例条目
例如
class MyStep(BaseStep):
def __init__(self, default_hyperparam_value):
BaseStep.__init__(self, hyperparams = {"my_hyperparam_name":default_hyperparam_value},
hyperparams_space={"my_hyperparam_name":FixedHyperparameter(default_hyperparam_value)})
或者,您可以将其完全从超参数字典中排除,并简单地将其设置为步骤属性。当然,它们是实现类似行为的许多其他方式。
如果我误解了你的问题,请告诉我,我很乐意提供任何进一步需要的见解:)
在 Neuraxle 中实现管道组件,我想知道是否可以 and/or 建议使用超参数的默认值。查看代码和文档,我猜它不受支持,但我在文档中找不到任何提及。我注意到 here 超参数是在设置阶段之前设置的,这让我怀疑在代码中设置默认值是“不可能的”。
最好使用默认值,因为它允许更多的超参数选项,而无需在训练时明确定义它们。它还允许在不破坏现有训练代码的情况下添加超参数。默认值的缺点是增加了复杂性,如果默认值发生变化,可能会出现重现性问题。
如有任何见解,我们将不胜感激。
如果我很好地理解你的问题,完全可以为超参数设置默认值。您可以使用 step class 构造函数来执行此操作。为此,您的参数只需要在超参数 space.
中具有相应的 FixedHyperparameter 实例条目例如
class MyStep(BaseStep):
def __init__(self, default_hyperparam_value):
BaseStep.__init__(self, hyperparams = {"my_hyperparam_name":default_hyperparam_value},
hyperparams_space={"my_hyperparam_name":FixedHyperparameter(default_hyperparam_value)})
或者,您可以将其完全从超参数字典中排除,并简单地将其设置为步骤属性。当然,它们是实现类似行为的许多其他方式。
如果我误解了你的问题,请告诉我,我很乐意提供任何进一步需要的见解:)