python程序越跑越慢

        

        我的第一个python程序是提取一系列音频文件的特征,利用librosa音频处理库将音频文件转换为声谱图,并保存,然后再提取声谱图的hog特征

         程序写好之后,在运行时总是运行到一半电脑就开始卡,后来用top命令查看内存使用情况,发现随着处理音频文件的增多,程序占用的内存越来越大。开始以为是自己定义的变量没有及时释放的问题,使用del函数和gc.collect()函数释放自定义的变量,但是程序依然占用的内存越来越大,后面仔细检查之后,发现是利用librosa音频库生成声谱图并保存之后没有及时关闭图像,使用plt.close()关闭图像之后,程序占用内存就正常了,不会随着处理文件的增多而占用内存变多

        在程序中,音频文件的文件名的前几个字母代表该文件所属类别,并用数字标识类别,开始使用for循环来判断该文件所属的类别标识,这样太耗时,使用字典就可以减少时间消耗。字典的key为音频文件的前几个字母,value为类别标识(数字)  


你可能感兴趣的:(平时遇到的问题解决方案)