0

我有一个 Keras 模型,但它对于我的本地 PC 来说太大了,我正在尝试迁移到谷歌云以便能够使用 TPU。

我在内存图像中看到的示例使用拟合函数来训练模型。

我有成千上万的图像,而且我想使用图像增强。在我的本地模型中,我使用ImageDataGeneratorand fit_generator

如何使用 TPU 做到这一点?

我有几个想法,

  1. 在虚拟机中挂载存储桶
  2. 将图像复制到虚拟机的磁盘并ImageDataGenerator像我在本地机器上一样使用。

但我不确定,我觉得所有这些方法都是低效的。

有没有办法有效地做到这一点?

4

2 回答 2

0

Tensorflow 最近宣布在 Cloud TPU 上支持 Keras(截至 1.11),因此您现有的模型fit_generator应该可以工作,这里是一个在 TPU 上使用的示例fit_generator

对于问题的性能部分,一旦模型在 TPU 上运行,您就可以使用TPU 分析器来确定存储是否是瓶颈。如果存储是瓶颈,有很多方法可以解决这个问题,主要是优化输入管道

于 2018-10-21T01:16:48.350 回答
0

如果您正在寻找读取速度,GCP 确实提供SSD,这将是您的机器读取图像的最快方式。本地 SSD 确实有 3TB 的限制,因此您可能必须根据映像的数量将多个附加到您的 VM。

如果您希望降低成本,使用 FuseFS 安装Bucket是可行的方法,但它是最慢的选择,因为与源的潜在距离最大。

Google 有一篇很棒的文章,解释了您拥有的不同存储选项。这篇文章还有表格,列出了不同的成本和速度,以及关于每个选项提供的其他重要技术细节。

于 2018-09-12T22:04:54.077 回答