nvidia-tensorflow 1.15.5的signal模块的一个内存泄漏bug

最近实验室新进了一台有RTX 4090的工作站,于是在这台工作站上跑起了以前tensorflow 1时代写的代码,用的是nvidia ngc提供的docker镜像运行。

但是,发现session执行时间一次比一次长,同时发现内存也在缓慢增长,reset_default_graph也不能阻止这个过程;并且这个问题只在新服务器上出现,旧的RTX 3090显卡的服务器并没有这个问题。

于是开始了三四天的排查。

提出issue在:

https://github.com/NVIDIA/tensorflow/issues/76

结论:tf.signal.rfft, tf.signal.dct等方法有bug,通过降低nvida-tensorflow的版本到1.15.4解决。

下面是排查思路和过程。

Read More