我想知道是否有人知道我的H2O自动编码器的训练方式是否存在任何明显的问题,可能会导致它需要这么长时间?或者,如果有人知道任何方法,我可以减少训练这个模型所需的时间,包括数据集和模型构建。任何帮助将不胜感激!非常感谢!
我一直在一个数据集上训练H2o自动编码器,该数据集只包含一个热编码的分类列。数据集的形状为(7762,2232),模型花了大约5个小时来训练。构建模型的代码如下:
model = H2ODeepLearningEstimator(
autoencoder = True,
seed = -1
hidden = [2000,1000,500,250,125,50],
epochs = 30,
activation = "Tanh"
)
1条答案
按热度按时间9bfwbjaz1#
这里的问题是列的数量。行数控制总训练时间,而列数控制每行的训练时间。第2232章太多了如果你能做一些数据整理,减少你使用的预测器的数量,它肯定会加快训练速度。
您还可以尝试以下操作:
1.将stoping_tolerance设置为更大的数字:0.1或更高。这将使得如果一些指标的平均改善与上一次相比没有改善0.1,则能够提前停止训练;
1.如果要在120秒后停止模型构建,请设置max_runtime_secs=120
1.将score_training_samples从默认值10000减少到5000。这将对较少数量的样本执行评分,因此可以减少训练时间。
请注意,在1,2中提前停止模型可能会减少模型训练时间,但会得到一个可能不适合数据的模型。