小编sad*_*kia的帖子

如何在每个 for 循环后清除 ram?

下面的代码是从干净的信号创建嘈杂的音频信号的代码,但当我运行它时,我的内存已满,Spyder 冻结了。我的整个音频数据文件有2G。如何在运行代码或 for 循环结束时清理内存?

for i in range(len(path_wav)):
    clean_file.append(path_wav[i])
    clean_wav.append(wave.open(clean_file[i], "r"))
    clean_amp.append(cal_amp(clean_wav[i]))
    clean_rms.append(cal_rms(clean_amp[i]))
    divided_noise_amp.append(np.resize(noise_amp,len(clean_amp[i])))
    noise_rms.append(cal_rms(divided_noise_amp[i]))
    adjusted_noise_rms.append(cal_adjusted_rms(clean_rms[i], snr))
    adjusted_noise_amp.append(divided_noise_amp[i] * (adjusted_noise_rms[i] / noise_rms[i]))
    mixed_amp.append((clean_amp[i] + adjusted_noise_amp[i]))
    save_waveform(path_wav_out[i] , clean_wav[i].getparams(), mixed_amp[i])
Run Code Online (Sandbox Code Playgroud)

另外,我将 for 循环中断为多个小循环,但在运行第一个循环后,内存对于另一个循环来说不是空的。

for i in range(0,int(len(path_wav)/10)):
    clean_file.append(path_wav[i])
    clean_wav.append(wave.open(clean_file[i], "r"))
    clean_amp.append(cal_amp(clean_wav[i]))
    clean_rms.append(cal_rms(clean_amp[i]))
    divided_noise_amp.append(np.resize(noise_amp,len(clean_amp[i])))
    noise_rms.append(cal_rms(divided_noise_amp[i]))
    adjusted_noise_rms.append(cal_adjusted_rms(clean_rms[i], snr))
    adjusted_noise_amp.append(divided_noise_amp[i] * (adjusted_noise_rms[i] / noise_rms[i]))
    mixed_amp.append((clean_amp[i] + adjusted_noise_amp[i]))
    save_waveform(path_wav_out[i] , clean_wav[i].getparams(), mixed_amp[i])
for i in range(int(len(path_wav)/10),int(2*len(path_wav)/10)):
    clean_file.append(path_wav[i])
    clean_wav.append(wave.open(clean_file[i], "r"))
    clean_amp.append(cal_amp(clean_wav[i]))
    clean_rms.append(cal_rms(clean_amp[i]))
    divided_noise_amp.append(np.resize(noise_amp,len(clean_amp[i])))
    noise_rms.append(cal_rms(divided_noise_amp[i]))
    adjusted_noise_rms.append(cal_adjusted_rms(clean_rms[i], snr))
    adjusted_noise_amp.append(divided_noise_amp[i] * (adjusted_noise_rms[i] / noise_rms[i]))
    mixed_amp.append((clean_amp[i] + adjusted_noise_amp[i]))
    save_waveform(path_wav_out[i] , …
Run Code Online (Sandbox Code Playgroud)

ram loops python-3.x spyder

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

loops ×1

python-3.x ×1

ram ×1

spyder ×1