如何使用 AWS AMI 管理机器学习中的海量数据

How to manage huge data in machine learning with AWS AMI

我对 Tensorflow 和机器学习比较陌生。我有一个数据集 运行 成百万行,每行 > 2000 列。我正在考虑在 AWS AMI(C5 实例)上使用 Tensorflow。我不确定在哪里/如何存储这些庞大的数据。

1- 我应该将其作为 csv 存储在 S3 存储桶中,还是应该将其加载到某个大数据系统中,然后使用 Apache spark 将其流式传输出去?你能在这里指导我吗?

2- 另外,如果我必须清理这些数据,正确的方法是什么?也许使用 AWS Sagemaker 并使用 python/ pandas(通过笔记本)来清理数据?这是正确的做法吗?

我可以给一些建议,但每个项目都不一样,使用最适合你的。

这是一次性数据探索还是您需要经常处理的事情?为了经常这样做,spark 可能是正确的工具。 Spark 在 transforming/featurizing/cleaning/preprocessing 方面非常出色,可以将您的数据转化为对张量流更有用的东西(通常是稀疏格式)。这里重要的是让你的 gpus 保持忙碌并实现这一点,你需要在使用 tf.如果您没有小文件,S3 是一个很好的存储空间。

为了让 tensorflow 快乐,大多数时候你需要加密你的特征向量。通过这种方式,您可以获取一小批记录并将稀疏特征向量转换为密集向量。只有这样你才能将它发送到 tf.这是因为 GPU 在处理稀疏数据方面非常糟糕,而且一些操作(如卷积)甚至不支持稀疏输入。 (所有这些都可以随时改变,因为它是一个活跃的研究领域)