Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Librosa加载了许多MP3内存使用_Python_Memory_Mp3_Audio Processing_Librosa - Fatal编程技术网

Python Librosa加载了许多MP3内存使用

Python Librosa加载了许多MP3内存使用,python,memory,mp3,audio-processing,librosa,Python,Memory,Mp3,Audio Processing,Librosa,我想在一个循环中加载大约25K的mp3音频文件,并在Jupyter笔记本中处理它们。当加载这些音频文件时,我的RAM使用量不断增长,但情况并非如此。检查RAM中的变量时,音频文件不会显示,即使是%reset-f也不会释放内存。下面的示例将使RAM使用量无限增长,这不应该是因为函数process\u audio\u file的结果只有2个字节 我的问题是,如何处理这些25K音频文件而不增加RAM的使用 def process_audio_file(fname): librosa.core.

我想在一个循环中加载大约25K的mp3音频文件,并在Jupyter笔记本中处理它们。当加载这些音频文件时,我的RAM使用量不断增长,但情况并非如此。检查RAM中的变量时,音频文件不会显示,即使是
%reset-f
也不会释放内存。下面的示例将使RAM使用量无限增长,这不应该是因为函数
process\u audio\u file
的结果只有2个字节

我的问题是,如何处理这些25K音频文件而不增加RAM的使用

def process_audio_file(fname):
    librosa.core.load(fname, sr=None)
    return 42

res = np.ndarray(shape=len(file_names), dtype=np.int16)
# Loop will make RAM usage grow till 16GB, causing an out of memory error
for idx, fname in enumerate(file_names):
    res[idx] = process_audio_file(fname)

尝试使用内存探查器找出内存泄漏的位置?请注意,它们对C级对象的可见性可能有限。需要检查的一件事可能是WAV文件是否也会出现这种情况,如果您能提供一个可复制的示例,我建议您在librosa中发布一个bugreport,因为它听起来很像一个bug