作为一名致力于 DSP 和 ML 领域的工程师学生,我正在开发一个音频分类项目,输入是贝斯、键盘、吉他等乐器的短片(4 秒)。( NSynth Dataset by the Magenta team at Google )。
这个想法是将所有短片(.wav 文件)转换为频谱图或梅尔频谱图,然后应用 CNN 来训练模型。
但是,我的问题是,由于整个数据集很大(大约23GB),我想知道是否应该首先将所有音频文件转换为PNG等图像,然后应用CNN。我觉得这可能需要很多时间,而且它会使我的输入数据的存储空间增加一倍,因为现在是音频+图像(可能高达 70GB)。
因此,我想知道是否有任何解决方法可以加快这一过程。
提前致谢。
最佳答案
预处理是完全值得的。您很可能最终会运行多个实验,然后您的网络才能按您希望的方式工作,并且您不想每次都浪费时间预处理功能,因为您想更改一些超参数。
我宁愿直接保存 PyTorch 张量( torch.save
使用 Python 的标准 pickling 协议(protocol))或 NumPy 数组( numpy.savez
将序列化数组保存到 zip 文件中),而不是使用 PNG。如果您关心磁盘空间,可以考虑numpy.save_compressed
.
关于python - 如何使用 CNN 和 PyTorch 处理输入数据以进行音频分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59854794/