Colab:在TPU上缓存数据集

时间:2018-12-08 12:06:59

标签: tensorflow tensorflow-datasets tpu

我想设置类似于the following colab notebook的内容。我有一个100MB的TFRecord,我想使用TPU对其进行训练。

我的训练输入功能如下:

def train_input_fn(batch_size=1024):
  dataset = tf.data.TFRecordDataset(TRAIN_RECORD)
  dataset = dataset.cache()
  dataset = dataset.repeat()
  dataset = dataset.shuffle(100)
  dataset = dataset.map(parse_fn)
  dataset = dataset.batch(batch_size, drop_remainder=True)
  return dataset

据我了解,使用TPU时,数据集无法驻留在计算机硬盘上,这就是为什么我添加了dataset.cache()的原因。但我仍然得到

  

UnimplementedError(回溯见上文):文件系统方案'[local]'未实现(文件:'train.tfrecord')

2 个答案:

答案 0 :(得分:1)

TPU需要Google云存储。不支持本地存储。

https://cloud.google.com/tpu/docs/troubleshooting#cannot_use_local_filesystem

答案 1 :(得分:0)

该行dataset = tf.data.TFRecordDataset(TRAIN_RECORD)上出现错误,该行与本地fs一起使用。我认为您应该像在笔记本中那样在训练功能之外加载数据。