Adanet内存不足

时间:2019-07-06 18:05:51

标签: python tensorflow tensorflow-estimator adanet

我尝试用两个DNNEstimator(隐藏单元分别为1000,500,100)在具有约1850个要素的数据集上训练AutoEnsembleEstimator(经过要素工程),但我一直用光了内存(即使在400G +高内存的情况下) gcp vms)。

我正在使用以上代码进行二进制分类。最初,我训练了各种模型,并通过在训练后的模型上训练传统的集成分类器来组合它们。我希望Adanet简化生成的模型图,使推理更容易,而不是为各种缩放器/ scikit模型/ keras模型提供单独的图/点。

1 个答案:

答案 0 :(得分:1)

三个假设:

  1. 您的集合中可能有太多的DNN,如果max_iteration_steps太小且未设置max_iterations,则可能会发生(这两者都是AutoEnsembleEstimator的构造函数参数)。如果您想训练每个DNN进行N个步骤,并且想要一个具有2个DNN的集合,则应该设置max_iteration_steps=N,设置max_iterations=2并为AutoEnsembleEstimator训练{ {1}}步骤。

  2. 您可能曾经使用过adanet-0.6.0-dev,它有内存泄漏。要解决此问题,请尝试更新到最新版本,然后查看是否仍然出现此问题。

  3. 您的批次大小可能太大。尝试减小批量大小。