【问题标题】:Results reproducibility using Pytorch and Optuna for DNN使用 Pytorch 和 Optuna 进行 DNN 的结果重现性
【发布时间】:2021-12-30 02:01:28
【问题描述】:

我找到了 7 个超参数的最佳结果,即:

  1. 层数,
  2. 节点大小,
  3. 激活函数,
  4. 学习率,
  5. 动量,
  6. 批量大小,
  7. 优化器

使用 Optuna 多目标优化。我将培训和验证损失最小化作为我的目标。由于调整参数的数量更多,我将每个跟踪的 epoch 数减少为 50。然后我得到了最好的参数,进行了 Optuna 优化。我增加了纪元大小并使用torch.manual_seed 构建了相同的模型。但是在相同的第 50 个 epoch 之后得到的结果与我在 Optuna 结果中得到的结果不同。

我错过任何东西的原因是什么?我想在相同的条件下重现相同的结果!

【问题讨论】:

    标签: python deep-learning pytorch optuna


    【解决方案1】:

    最后,我找到了再现性不当的原因。在我的代码中,我使用了两个不同的目标函数; def train(试用)和 def layer(试用)。我将第二个目标函数转入训练(试验)。此外,指定手动种子也很重要。反正会有0.0001%的微小偏差。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 2022-01-21
      • 2021-06-19
      • 2020-07-11
      • 2020-12-31
      • 2019-12-03
      相关资源
      最近更新 更多