【问题标题】:Google colab TPU and reading from disc while traningGoogle colab TPU 和在训练时从光盘读取
【发布时间】:2019-04-20 04:46:42
【问题描述】:

我有 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,得到同样的错误。

【问题讨论】:

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


    【解决方案1】:

    您在此方案中使用的 Cloud TPU 未位于运行 Python 的同一 VM 上。最简单的方法是在 GCS 上暂存您的数据并使用 gs:// URI 将 TPU 指向它。

    要在使用 GCS 时优化性能,请将 prefetch(AUTOTUNE) 添加到您的 tf.data 管道,对于小型 (cache()。

    【讨论】:

    • 这很奇怪; GCS 存储应该是向 TPU 获取数据的最快方式。也许尝试增加存储数据的复制? (例如,全局或多区域存储而不是区域存储)
    • 我会尝试,目前,我只比较了 colab vm ram 与谷歌云存储。第二个选项慢了 3 倍。
    • 经过多区域测试,现在速度更快,但仍然比 colab RAM 差。
    猜你喜欢
    • 1970-01-01
    • 2020-12-10
    • 2020-03-31
    • 2022-01-19
    • 2021-05-17
    • 2020-02-23
    • 2019-06-20
    • 2021-03-22
    • 1970-01-01
    相关资源
    最近更新 更多