我有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,得到相同的错误。
答案 0 :(得分:2)
在这种情况下,您使用的Cloud TPU不会并置在运行python的同一VM上。最简单的方法是在GCS上暂存数据,并使用gs:// URI将TPU指向它。
要在使用GCS时优化性能,请在您的tf.data管道中添加prefetch(AUTOTUNE)
,对于小型(<50GB)数据集,请使用cache()
。