Optuna返回最后一个值,而不是一次试验的最佳值



我使用Optuna。假设这些是"1次试验"的值带有"5个时代或步骤":

Epoch 0: 18 - Epoch 1:32 - Epoch 2:14 - Epoch 3:28 - Epoch 4:25

我希望Optuna返回14作为这个试验的值,但它给了我25(最后一个epoch的值)。我希望optuna返回最好的中间值作为最终值,而不是最后一个。任何解释,以及解决问题的方法,都将不胜感激。

p。s:我说的只是一次试验,不是一项研究。

如何将所有中间值保存在列表中并从中获得最大/最小值?

下面是这种方法的伪代码:

def objective(trial):
...
accuracies = []
for i in range(N_ITERATIONS):
accuracy = n_correct / N_VALID_EXAMPLES
accuracies.append(accuracy)
return max(accuracies)

你可以在本笔记本中找到一个工作示例。

最新更新