首页 > 解决方案 > 如何使用 AWS AMI 管理机器学习中的海量数据

问题描述

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

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

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

标签: amazon-web-servicesapache-sparkmachine-learningamazon-sagemaker

解决方案


我可以提供一些建议,但每个项目都是不同的,并使用最适合你的。

它是一次性的数据探索,还是您需要经常处理的事情?为了经常这样做,火花可能是正确的工具。Spark 在将数据转换/特征化/清理/预处理为更可用于 tensorflow(通常为稀疏格式)的数据方面非常棒。这里重要的是让你的 gpus 保持忙碌,为了实现这一点,你需要在使用 tf. 如果您没有小文件,S3 是一个很好的存储。

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


推荐阅读