datalab中的大数据

时间:2018-01-22 01:36:49

标签: keras google-cloud-datalab google-cloud-dataprep

我正在尝试将我的csv文件加载到datalab中。但是csv文件太大而无法加载。即使我设法做到这一点,也需要很长时间才能进行预处理。

我是使用Keras在这个数据集上做ML的事情。问题是:

  • 如何使用数据生成器为Keras提供原始数据?
  • 数据预处理怎么样,我应该在dataprep或dataflow中进行,还是只在datalab中进行,这很好?
  • 有没有办法加快培训过程?现在我必须打开datalab窗口很长时间才能完成培训。我不得不打开这么长时间的网页。

谢谢!

2 个答案:

答案 0 :(得分:2)

我建议您使用pandas库加载数据并提取底层的numpy数组。然后,您可以将所需的任何输入或输出数据提供给模型。

如果您的csv太大而无法将其存储在内存中,另一种方法是实现一个Python生成器,每次都会产生一批数据。

有许多变量可以决定培训过程的持续时间,不幸的是,很难说出对你来说最好的事情。 您可以提高优化程序的学习速度,或者构建一个较小的模型(减少要训练的权重),或者提供较少的数据,或者训练较少数量的历元/步骤。

答案 1 :(得分:1)

有可能进一步使用更大/更多内存的虚拟机,但这当然也会有限制,只是更大。

最终,您可能(可能已经)达到了您想要考虑这种方法的门槛:

  1. 构建您在开发期间使用的数据示例。这就是你在Datalab中使用的内容。

  2. 构建可以针对完整数据集运行的分布式培训计划。我建议查看Cloud ML Engine对分布式培训及相关样本的支持。