如何在 TPU 上使用自定义数据集训练 Pytorch 模型?

How to train a Pytorch model with a custom dataset on a TPU?

仅供参考,因为我是一名学生,所以我只能节省最初的 300 美元,所以我需要尽量减少试错阶段。

我有一个基于 Pytorch 的模型,该模型目前 运行 在本地 GPU 上运行,本地存储中有约 100GB 的帧数据集,我正在寻找说明如何设置的指南一台机器,用于在数据集上使用 TPU 训练和测试我的模型,该数据集将在我的 Google Drive(?)(或任何其他推荐的云存储)中。

我发现的指南与我的描述不符,其中大部分在 GPU 或 TPU 上使用数据集库中包含的数据集 运行,我不想浪费时间和预算尝试 assemble 从这些碎片中拼出一个拼图。

首先,要在 Google Cloud TPU 上使用 TPU,您必须使用 PyTorch/XLA 库,因为它支持将 TPU 与 PyTorch 一起使用。

有一些选项可以这样做,您可以使用代码实验室或在 GCP 上为此创建一个环境。我理解你可能想知道除了在codelab上工作外,在“真实环境”下如何工作,但不会有太大的区别,codelab通常作为ml开发的主要环境。

  • 关于你的数据集,我建议你上传它Google Cloud Storage and access it via gs url like gs://bucket_name/data.csv. It also have a free tier

此外,请记住,使用 TPU 实例和笔记本在 GCP 中的笔记本中编码 将在几天(或几小时)内耗尽您的 300 美元。仅 TPU v3 准备好用于 pytorch 的费用约为 6000 美元/月。

在 colab 上:

在 GCP 上:

  • 启用 TPU API 并创建一个 TPU 实例。

  • Create a notebook 编写代码。

  • 在代码中使用您的 TPU IP 设置 XRT_TPU_CONFIG env 变量:

os.environ["XRT_TPU_CONFIG"]="tpu_worker;0;10.0.200.XX:8470"