【问题标题】:How to speed up the process of loading data while training my neural network?如何在训练我的神经网络时加快加载数据的过程?
【发布时间】:2021-04-11 13:25:32
【问题描述】:

我现在正在用我的 GPU 训练我的 LSTM 神经网络。

问题是:

我的训练集中有 23,000 个 .csv 文件,其形状为 (40,76)。每次我得到一个批处理(64)来加载我的数据时,我发现加载数据大约需要 1 秒(读取 64 个 .csv 文件),计算损失和更新参数大约需要 0.08 秒。当我检查我的 GPU 的功率和利用率时,我发现它的效率很低。因此,如何改进训练数据的组织?

这是我自己的数据集类。enter image description here

【问题讨论】:

  • 请避免将代码作为图片发布。
  • 对不起,我不会犯同样的错误!

标签: pytorch


【解决方案1】:

将 CSV 文件合并为一个文件。或者,从 CSV 加载数据并以其他形式保存数据。这样,您只需读取一个文件而不是 23,000 个文件。读取文件相对来说非常慢,因为它需要系统调用(您的程序必须要求操作系统读取文件)。

最简单的做法就是合并 csv,然后将它们另存为新的 csv。然后只需使用该 csv 加载数据。我敢打赌您的代码的大部分运行时间来自打开/关闭文件

【讨论】:

    猜你喜欢
    • 2015-10-03
    • 2011-05-11
    • 1970-01-01
    • 2021-12-12
    • 2019-06-18
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多