【问题标题】:What is an efficient way to read and store input data from multiple files in python?在 python 中从多个文件读取和存储输入数据的有效方法是什么?
【发布时间】:2020-03-15 22:07:56
【问题描述】:

我想在 python 中为 8000 个数据样本训练一个分类器(使用 sklearn 或 pytorch 库)。但是,每个数据都是存储在 .wav 文件中的时间序列。

我是否必须首先循环读取所有 8000 个文件并将它们存储在一个大文件中,然后每次我想训练分类器时读取那个大文件?或者对于这种情况有更有效的方法?

【问题讨论】:

  • 你已经有一些代码了吗?

标签: python database time-series pytorch


【解决方案1】:

不,您不需要拥有一个大文件。 在某些时候,您可能缺乏 GPU 内存(整体内存)。 您需要的是延迟加载。

在 PyTorch 中,您有 DatasetDataLoader 类。

Dataset 只需要实现两个方法。

class Dataset(object):

    def __getitem__(self, index):
        raise NotImplementedError

    def __len__(self):
        raise NotImplementedError

DataLoader 类可以为您提供单批数据。如果批量大小为 64 (bs=64),这意味着一次有 64 个 .wav 文件。因此,您将指示DataLoader 从一次加载 bs 数据。这是延迟加载。

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 2016-11-07
    • 2018-10-21
    • 2021-12-23
    • 2013-03-07
    • 1970-01-01
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多