0

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

我正在考虑使用 Keras 对这个数据集进行 ML。问题是:

  • 如何使用数据生成器向 Keras 提供我的原始数据?
  • 数据预处理怎么样,我应该在 dataprep 或 dataflow 中进行还是在 datalab 中就可以了?
  • 有什么方法可以加快训练过程?现在,我必须让数据实验室窗口打开很长时间才能完成训练。让网页长时间打开我感觉不舒服。

谢谢!

4

2 回答 2

2

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

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

有很多变量决定了你的训练过程的持续时间,不幸的是,很难说出什么对你来说可能是最好的。您可以提高优化器的学习率,或者构建更小的模型(要训练的权重更少),或者提供更少的数据,或者训练更少的时期/步数。

于 2018-01-22T02:51:43.627 回答
1

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

最终,您可能(并且可能已经)达到了一个您想要考虑这种方法的阈值:

  1. 构建您在开发期间使用的数据样本。这就是您将在 Datalab 中使用的内容。

  2. 构建一个可以针对完整数据集运行的分布式训练程序。我建议查看 Cloud ML Engine 以了解它对分布式训练和相关样本的支持。

于 2018-01-27T23:23:41.507 回答