所以我在tensorflow中为我的研究工作实现了一个DQN代码,但在训练时我发现我有内存泄漏。经过一整天的调试后,我发现它的Replay Memory数组会导致内存泄漏。我为我的重播内存列表设置了25000个样本的限制,一旦超过限制,它就会收集最近的25000个样本。这是重放内存数据集集合的代码
Replay_Memory.extend(New_sample)
if(len(Replay_Memory)>25000):
temp=Replay_Memory[len(Replay_Memory)- 25000: len(Replay_Memory)
Replay_Memory=temp
del(temp)
gc.collect()