深度学习之python使用过程中的内存管理
在使用深度学习进行预测的时候,往往会使用一些list存储生成的坐标和label以及包含识别结果的图片,但是如果不及时清理则会造成内存爆满,所以及时的清理多余内存并将其释放是很必要的。打个比方,我使用not_workcloth这个list存储未穿工作服的坐标,我可以先使用thread_cor_to_lenth_not_workcloth来检测这个list的长度,当这个长度超过我设置的最大帧长 timeF时,就进行内存清理,清理的范围为thread_cor_to_lenth_not_workcloth / 3(即原始列表的三分之一),此时del的step为1,清理完后并不会回收内存,所以这时使用gc.collect()来进行内存的回收,具体代码如下:
# 清理工作服缓存坐标
thread_cor_to_lenth_not_workcloth = len(not_workcloth)
print('工作服坐标长度', thread_cor_to_lenth_not_workcloth)
if thread_cor_to_lenth_not_workcloth > timeF:
print('清理工作服坐标缓存序列中.....')
jump_cor_aiuc_no_workcloth = int(thread_cor_to_lenth_not_workcloth / 3)
print(jump_cor_aiuc_not_workcloth)
del no_workcloth[0:jump_cor_aiuc_not_workcloth:1]
gc.collect()
print('回收内存', gc.collect())
一起开启新世界的大门吧😊
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)