我正在使用 Optuna。想象一下这些是“5 个时期或步骤”的“1 次试验”的值:
纪元 0:18 - 纪元 1:32 - 纪元 2:14 - 纪元 3:28 - 纪元 4:25
我希望 Optuna 返回 14 作为此试验的值,但它给了我 25(最后一个 epoch 的值)。我希望 optuna 返回最佳中间值作为最终值,而不是最后一个。任何解释,以及解决问题的解决方案,将不胜感激。
Ps:我说的只是一个试验,而不是一项研究。
我正在使用 Optuna。想象一下这些是“5 个时期或步骤”的“1 次试验”的值:
纪元 0:18 - 纪元 1:32 - 纪元 2:14 - 纪元 3:28 - 纪元 4:25
我希望 Optuna 返回 14 作为此试验的值,但它给了我 25(最后一个 epoch 的值)。我希望 optuna 返回最佳中间值作为最终值,而不是最后一个。任何解释,以及解决问题的解决方案,将不胜感激。
Ps:我说的只是一个试验,而不是一项研究。
如何将所有中间值保存在列表中并从中获取最大值/最小值?
以下是这种方法的伪代码:
def objective(trial):
...
accuracies = []
for i in range(N_ITERATIONS):
accuracy = n_correct / N_VALID_EXAMPLES
accuracies.append(accuracy)
return max(accuracies)
您可以在此笔记本中找到一个工作示例。