【问题标题】:Training Large Datasets (e.g.: 30GB+) on the Cloud?在云端训练大型数据集(例如:30GB+)?
【发布时间】:2020-07-25 21:14:52
【问题描述】:

我正在做一个 Kaggle 项目,但我遇到了第一个障碍。数据集是 30GB 的图像。我希望能够在某种云解决方案上训练我的模型,我在虚拟机上下载了它,把它放到了谷歌云存储桶中,但是那里的任何东西似乎都会因为太多的数据而绊倒。我试过了:

  • 在 Colab 中安装我的 Google Drive 并在那里阅读(笔记本无法 处理这么多数据)
  • 从 GCS 本身渲染(只能在以下位置下载和打开单个文件) 一次,但这是我得到的最接近的一次)
  • 将整个内容移至 Google DataLab 并从 那里的 GCS(减慢到无法使用的地步,难以打开 现在的笔记本)

这似乎是一个相当常见的 ML 用例,只是运行操作、可视化然后对云数据进行培训?我的假设是使用 BigQuery 之类的东西是不可行的,因为它的图像数据不适合结构化数据集。非常感谢任何帮助。

【问题讨论】:

  • 如何在云基础设施上训练大型图像数据集,好像没有办法直接在存储桶上运行?
  • Google Colab 并非免费为每个人提供 GPU,因为每个小气鬼都来使用它的资源,只是因为他们不想购买 GPU。 Colab 旨在成为一个研究平台。如果您想使用如此庞大的数据集进行训练,只需将其下载到本地并在一夜之间运行您的计算机。除非您想将模型出售给 google,否则 10 GB 的数据集就足够了。

标签: tensorflow machine-learning image-processing google-cloud-platform bigdata


【解决方案1】:

几周前我处理了同样的问题,我在 Google Cloud Platform 中找到了两种很好的方法。

第一个是使用其中一个公共深度学习映像创建一个 VM 实例,您有许多具有不同深度学习设置的版本。您必须创建一个新实例,进入启动盘,在操作系统中选择“Linux 上的深度学习”,然后选择更适合您的版本。然后是你选择或不选择 GPU 来加速训练。请注意,在 VM 实例停止的情况下,您几乎可以更改所有硬件,因此由于 GPU 价格昂贵,我建议仅在训练期间或需要计算资源时使用它们。我还可以建议您使用 SSD 磁盘来存储数据集,因为您使用的是图像数据集,它会加速您的输入管道,即您的图像数据摄取。如果您选择这种方式,我可以给您更多提示,例如使用附加的磁盘来存储数据集,以便您可以轻松地将其从一个实例移动到另一个实例。

第二个是创建一个 AI Jupyter 笔记本。这个位于AI平台里面,有很多tutorials可以联系他们。它们非常有用,因为它们是一个以深度学习图像为后端、以 Jupyterlab 为前端的 VM 实例。向不习惯如此深入的命令行界面的人发起培训很容易,但如果我没记错的话,它们会贵一点。

希望对您有所帮助,欢迎进一步提问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-19
    • 2018-08-15
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    相关资源
    最近更新 更多