TF1.14] [TPU]无法使用TPU在Colab上使用自定义TFrecord数据集

时间:2019-09-19 10:31:02

标签: tensorflow google-colaboratory tpu google-cloud-tpu

我创建了一个TFRecord数据集文件,该文件由元素及其对应的标签组成。我想将其用于使用免费TPU在Colab上进行训练的模型。我可以加载TFRecord文件,甚至运行迭代器只是为了查看内容,但是,在纪元开始之前,它会引发以下错误-

UnimplementedError: From /job:worker/replica:0/task:0:
File system scheme '[local]' not implemented (file: '/content/gdrive/My Drive/data/encodeddata_inGZIP.tfrecord')
     [[{{node MultiDeviceIteratorGetNextFromShard}}]]
     [[RemoteCall]]
     [[IteratorGetNextAsOptional_1]]

据我了解,它希望将TFRecord文件放在TPU存储桶中,但我不知道如何在Colab上执行该操作。如何在Colab TPU上直接使用TFRecord文件?

1 个答案:

答案 0 :(得分:1)

您需要将其托管在Google Cloud Storage上

  

所有输入文件和模型目录必须使用云存储存储桶路径(gs:// bucket-name / ...),并且必须可以从TPU服务器访问此存储桶。请注意,所有数据处理和模型检查点均在TPU服务器上执行,而不是在本地计算机上执行。

如Google的故障排除页面所述:https://cloud.google.com/tpu/docs/troubleshooting#cannot_use_local_filesystem

希望这会有所帮助!