我有一个Keras模型,但是对于我的本地PC来说太大了,我正试图迁移到Google云以能够使用TPU。
我看到的示例在内存图像中用于训练具有fit函数的模型。
我有成千上万张图像,并且我也想使用图像增强。在我的本地模型中,我使用ImageDataGenerator
和fit_generator
。
如何使用TPU执行此操作?
我有几个主意,
ImageDataGenerator
。但是我不确定,我觉得所有这些方法效率都不高。
有没有一种有效的方法?
答案 0 :(得分:0)
如果您正在寻找读取速度,GCP会提供SSD’s,这将是您的计算机读取图像的最快方法。本地SSD确实有3TB的限制,因此您可能必须根据映像数量将多个SSD附加到VM。
如果您希望降低成本,可以使用FuseFS安装Bucket,但这是最慢的选择,因为到源的潜在距离最大。
Google有一个great article,它说明了您用于存储的不同选项。本文还提供了表格,列出了不同的成本,速度以及有关每个选项提供的其他重要技术细节。
答案 1 :(得分:0)
Tensorflow最近宣布在Cloud TPU上支持Keras(自1.11版本开始),因此您现有的fit_generator
模型应该可以使用,这是example在TPU上使用fit_generator
对于问题的性能部分,一旦模型在TPU上运行,您就可以使用TPU profiler来确定存储是否是瓶颈。如果存储成为瓶颈,可以通过多种方法解决,主要是优化input pipeline