如何知道 R 完成了多少个深度学习 epoch?

Dar*_*ook 5 r h2o

默认情况下,提前停止处于启用状态h2o.deeplearning()。但是,从 R 中,我如何知道它是否确实提前停止了,以及它停止了多少个纪元?我试过这个:

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

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

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

Dar*_*ook 4

如果您的模型被称为m,那么要获取训练的纪元数: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
Run Code Online (Sandbox Code Playgroud)

即,您可以通过查看最后一行来查看纪元总数。

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