【问题标题】:Efficiently load large .npy files (>20GB) with Keras/Tensorflow dataloader使用 Keras/Tensorflow 数据加载器高效加载大型 .npy 文件 (>20GB)
【发布时间】:2021-04-05 21:10:55
【问题描述】:

我目前正在实施一个机器学习模型,该模型使用大量数据表示。 我的数据集由图像组成。这些图像中的每一个都被编码到一个(224, 224, 103) 矩阵中,使得整个数据集非常繁重。我将这些矩阵存储在磁盘上,并在训练期间加载它们。

我目前正在做的是使用 8 幅图像的小批量,并在整个训练过程中从磁盘加载这 8 幅图像的 .npy 文件。这很慢,但很有效。

有没有更有效的方法来使用 Keras/Tensorflow(这是我用来编写模型的代码)? 不幸的是,我找不到太多关于允许我这样做的数据加载器的信息。

提前致谢。

【问题讨论】:

    标签: python numpy tensorflow keras dataloader


    【解决方案1】:

    您有多种选择。

    我假设您对图像进行的转换以获得最终的(224, 224, 103) 矩阵非常昂贵,并且不希望对数据加载进行预处理。如果不是这种情况,您可能会从阅读the tutorial relevant to image processing 中受益。

    我建议您使用 python 生成器来读取数据,并使用tf.data 创建一个数据管道来将这些.npy 文件提供给您的模型。基本思想非常简单。您使用包装器从生成器中提取数据,生成器将根据需要读取文件。相关文档和示例为here

    现在,一旦你开始工作,我认为你最好optimize 你的管道,特别是如果你计划在多个 GPU 或多台计算机上训练。

    【讨论】:

    • 谢谢!这就是我一直在寻找的
    猜你喜欢
    • 2020-11-30
    • 2018-08-14
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 2019-12-17
    • 2021-03-29
    • 2011-09-11
    相关资源
    最近更新 更多