【问题标题】:How do know how many deep learning epochs were done, from R?如何知道从 R 中完成了多少个深度学习 epoch?
【发布时间】:2016-08-29 23:53:47
【问题描述】:

h2o.deeplearning() 默认开启提前停止。但是,从 R 中,我如何知道它是否提前停止,以及它停止了多少个时期?我试过这个:

model = h2o.deeplearning(...) print(model)

它告诉我有关层、MSE、R2 等的信息,但不告诉我运行了多少个 epoch。

在 Flow 上,我可以看到信息(例如,x 轴在“评分历史 - 偏差”图表或评分历史表中停止的位置)。

【问题讨论】:

    标签: r h2o


    【解决方案1】:

    如果您的模型被称为 m,那么仅获取训练的 epoch 数:last(m@model$scoring_history$epochs)

    要查看可用的其他信息(实际上就是您在 Flow 界面中可以看到的所有信息)以及如何访问它,请使用 str(m)

    还要注意这个命令:summary(m) 除了print(m) 显示的内容之外,它还添加了这个部分(对于深度学习模型):

    Scoring History: 
                timestamp   duration training_speed    epochs iterations       samples training_MSE training_deviance training_r2
    1 2016-04-14 11:35:46  0.000 sec                  0.00000          0      0.000000
    2 2016-04-14 11:35:52  5.218 sec 15139 rows/sec  10.00000          1  77150.000000      0.00000           0.00000     0.07884
    ...
    7 2016-04-14 11:36:18 31.346 sec 25056 rows/sec 100.00000         10 771500.000000      0.00000           0.00000     0.72245
    

    即您可以通过查看最后一行来查看 epoch 的总数。

    顺便说一句,当应用于数据时,这与 h2o 的 summary() 命令不同;在这种情况下,它的行为类似于 R 的内置汇总函数,并显示数据框中每一列的统计信息。

    【讨论】:

      【解决方案2】:

      我很有信心地说,达伦库克的答案只有在overwrite_with_best_model=FALSE 时才有效。无论如何,这个参数默认设置为TRUE,所以前面的答案可能会很误导,因为你可以部分找到here。您可以在以下输出中检查我的意思,使用 h2o.grid 调整网络并按照 Darren 的建议使用 m@model$scoring_history

      epochs     validation_classification_error
      0.00000    0.46562
      1.43150    0.50000
      100.31780  0.46562
      

      如您所见,如果 overwrite_with_best_model=TRUE 函数在最后一次迭代中保存了最佳模型,则 Darren 的解总是对应于最大时期数。假设您正在调整模型,我推荐以下解决方案:

      epochsList = m@model$scoring_history$epochs
      bestEpochIndex = which.min(m@model$scoring_history$validation_classification_error)
      bestEpoch = epochsList[bestEpochIndex]
      print(sprintf("The best epoch is: %d", bestEpoch))
      

      【讨论】:

      • 好点 - 我的问题和答案的重点是想知道在提前停止之前完成了多少个时期。我发现你的统计数据——达到某个指标最小值的时期数——也很有趣。不过,所有这些都应谨慎使用:您可以轻松地改变 +/-50% 的 epoch 以在每次运行中达到相同的结果。
      猜你喜欢
      • 2021-03-03
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 2016-07-25
      • 2020-07-11
      • 1970-01-01
      相关资源
      最近更新 更多