Google colab TPU并在刻录时从光盘读取

时间:2018-11-17 01:11:50

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

我有10万张照片,它不适合ram,所以我需要在训练时从光盘中读取。

dataset = tf.data.Dataset.from_tensor_slices(in_pics)
dataset = dataset.map(extract_fn)

def extract_fn(x):
    x = tf.read_file(x)
    x = tf.image.decode_jpeg(x, channels=3)
    x = tf.image.resize_images(x, [64, 64])
return x

但是后来我尝试训练,却遇到了这个错误

File system scheme '[local]' not implemented (file: '/content/anime-faces/black_hair/danbooru_2629248_487b383a8a6e7cc0e004383300477d66.jpg')

我可以以某种方式解决它吗? 也尝试过使用TFRecords API,得到相同的错误。

1 个答案:

答案 0 :(得分:2)

在这种情况下,您使用的Cloud TPU不会并置在运行python的同一VM上。最简单的方法是在GCS上暂存数据,并使用gs:// URI将TPU指向它。

要在使用GCS时优化性能,请在您的tf.data管道中添加prefetch(AUTOTUNE),对于小型(<50GB)数据集,请使用cache()