Keras 在Google Colab TPU上培训CNN的最佳方式

Keras 在Google Colab TPU上培训CNN的最佳方式,keras,deep-learning,google-colaboratory,google-cloud-tpu,tpu,Keras,Deep Learning,Google Colaboratory,Google Cloud Tpu,Tpu,我正在尝试培训一名CNN(目前为ResNet50),在他们的TPU支持下,在Google Colab上使用Keras。Colab上的TPU VM具有较小的本地磁盘大小,因此我无法在其上安装训练映像 我试着将火车/测试图像上传到Google drive,但从那里在Colab上访问文件似乎相当慢。我设置了一个谷歌云存储(GCS)存储桶,将数据上传到。但找不到关于如何将铲斗连接到Keras和TPU进行训练的好例子 在网站上,他们建议只使用GCS作为文件系统。但是文件集必须使用“tf.io.gfile”

我正在尝试培训一名CNN(目前为ResNet50),在他们的TPU支持下,在Google Colab上使用Keras。Colab上的TPU VM具有较小的本地磁盘大小,因此我无法在其上安装训练映像

我试着将火车/测试图像上传到Google drive,但从那里在Colab上访问文件似乎相当慢。我设置了一个谷歌云存储(GCS)存储桶,将数据上传到。但找不到关于如何将铲斗连接到Keras和TPU进行训练的好例子

在网站上,他们建议只使用GCS作为文件系统。但是文件集必须使用“tf.io.gfile”进行访问。这对Keras意味着什么

图中显示了安装GCS铲斗并将其用于模型存储。这样我就可以挂载和引用这个桶了。但它并没有告诉我如何使用地面军事系统提供来自地面军事系统的训练数据。我发现的所有示例都使用了一些预定义的图像集,其中包含Keras

似乎说明TPU在自己的独立服务器上运行,数据应该在GCS上,以便TPU访问。如果我运行一个Keras生成器,进行图像增强,并将其反馈给培训系统,这难道不意味着我正在通过网络不断地将图像下载到Colab VM,修改它们,并通过网络将图像发送到TPU服务器吗

用TPU在Keras上运行一个简单的CNN模型似乎相当复杂。我在这里遗漏了什么,正确的流程是什么


任何有具体例子的人都会很好。

你的训练图像有多大?大约40k图像,磁盘上的总大小约为40GB在这种情况下,这不是完整的答案,但你可以查看这个colab,他们将GCS存储桶与colab连接感谢链接。我设法将其用作模板,并从地面军事系统加载所有内容。不幸的是,从地面军事系统访问数据的速度非常慢。我的猜测是,谷歌不希望人们能够将太多数据放入免费的Colab虚拟机并使用免费的TPU。我将尝试缩小硬盘规模,并将其全部安装到VM本地磁盘中,这样我至少可以尝试一下TPU。