使用最新Tensorflow的内存泄漏

2024-10-05 13:24:15 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码持续泄漏我的系统内存

import numpy as np
import tensorflow
from tensorflow import keras
from tensorflow.keras import layers
import gc
import tracemalloc    
if __name__ == "__main__":
    tracemalloc.start()
    while True:
        inputs = keras.Input(shape=(10,))
        out = layers.Dense(1)(inputs)
        model = keras.Model(inputs=inputs, outputs=out)
        model.compile(optimizer="adam", loss="mse")
        train = np.random.rand(1000,10)
        label = np.random.rand(1000)
        model.fit(train, label)
        gc.collect()
        current, peak = tracemalloc.get_traced_memory()
        print(f"Current memory usage is {current / 10**6}MB; Peak was {peak / 10**6}MB")

在两者之间添加垃圾收集没有帮助。我是做错了什么,还是应该在tensorflow存储库中报告这个问题

我正在使用最新的tensorflow版本2.3.0和keras版本2.3.1,但在tensorflow 1.12.01.13.1中遇到类似问题后,我开始使用这个最小的示例


Tags: fromimportmodellayerstensorflownptrainrandom

热门问题