我正在使用 Keras (2.4) 和 Tensorflow (2.3.1) 后端。我正在使用网格搜索调整一些元参数,以便多次调用模型创建和
model.fit
方法(训练是在具有单个 GPU 的机器上完成的)。
Tensorflow 有记录的内存泄漏问题(例如参见此处,但还有更多报告,只需在 Google 中搜索
tensorflow memory leak
)。我过去遇到过这个问题,并设法使用小批量大小和手动调用 Python 垃圾收集器的组合将其保持在最低水平。但现在在另一个项目中,我怀疑我再次遇到了它。
我附上一张监控 RAM 使用情况的图像。 15 小时,我的问题很简单 - 看起来这可能是内存泄漏的结果吗?一方面,最大使用量随着时间的推移而增长。但是,另一方面,似乎取消分配(也许当模型实例被销毁并使用新参数创建时?)将大部分已用内存释放回(几乎)到初始级别。