我正在尝试使用Google Colab上的Keras以及其TPU支持来训练CNN(目前为ResNet50)。 Colab上的TPU VM具有较小的本地磁盘大小,因此我无法在其上放置训练图像。
我曾尝试将训练/测试图像上传到Google云端硬盘,但是从Colab上访问文件似乎很慢。我设置了一个Google Cloud Storage(GCS)存储桶以将数据上传到其中。但是找不到如何将铲斗连接到Keras和TPU进行培训的好例子。
他们在TensorFlow网站上建议仅将GCS用作文件系统。但是文件集有些东西必须使用“ tf.io.gfile”进行访问。对于Keras,这意味着什么?
Shakespeare TPU exaxmple显示了如何安装GCS铲斗并将其用于模型存储。这样,我就可以安装和引用存储桶了。但是它并没有告诉我如何使用GCS从中获取训练数据。我发现的所有示例都使用Keras打包的一组预定义图像。
Some instructions似乎表明TPU在其自己的独立服务器上运行,并且数据应在GCS上供TPU访问。如果我运行Keras生成器,进行图像增强并将其馈送到训练系统,这并不意味着我要通过网络将图像连续下载到Colab VM,对其进行修改,然后通过网络将其发送到TPU服务器?
在带有TPU的Keras上运行简单的CNN模型似乎都相当复杂。我在这里想念的是什么,正确的过程是什么?
任何有具体例子的人都会很棒。