keras-tuner 中的 max_trials 和 executions_per_trial 是什么

数据挖掘 喀拉斯
2022-02-18 15:33:33

max_trials我想知道&executions_per_trialkerastuner.tuners.bayesian.BayesianOptimization功能上有什么区别。是否execution_per_trial与交叉验证有关?max_trails起初听起来像是要训练的时期数,但事实并非如此,因为我们有另一个属性。我没有从这里找到的原始文档中得到太多

您应该指定模型构建函数、要优化的目标的名称(是否会根据内置指标自动推断最小化或最大化)、要测试的试验总数 (max_trials) 以及应该使用的模型数量构建并适合每个试验(executions_per_trial)。

1个回答

max_trials表示将由调谐器测试的超参数组合的数量,而execution_per_trial是为了稳健性目的而应该为每个试验构建和适合的模型的数量。

例如,假设您有一个具有以下参数搜索空间的浅层网络(一个隐藏层):

  • 隐藏单位数量: 16、32、48、64
  • 激活函数的选择: ReLu、Sigmoid、TanH

您总共有 12 种组合(4 乘以 3)。

然后,此时,当你设置max_trials = 40 时,你配置 Tuner 找到 40 个随机元组的 # 隐藏单元和激活函数,例如 (16, ReLu), (32, Sigmoid), (16, TanH) ...直到 40 个元组。对于每个元组,您将运行与您在execution_per_trial变量中设置的一样多的执行,因为根据模型运行优化过程的方式,最终结果可能会有很大不同。对于每次试验和执行,调谐器将使用您在脚本中配置的尽可能多的 epoch 来拟合模型。