$ top
可看到 VIRT RES 越來越大
$ jtop
看到 Mem 也隨時間越來越大
查詢目前程式占用的記憶體
import psutil
psutil.Process().memory_info().rss / (1024*1024*1024),
psutil.Process().memory_info().vms / (1024*1024*1024),
查詢目前程式碼使用記憶體狀況
from memory_profiler import profile
@profile(precision=4,stream=open('memory_profiler.log','w+'))
def function()
@profile # 直接在 stdout 輸出
def function()
但是看不出所以然
網路上常說因為 numpy 到 tensor 轉換的原因
state = tf.convert_to_tensor(state)
model.predict(state)
state = tf.convert_to_tensor(state)
model.fit(states)
但是沒有用
垃圾收集
import gc
gc.collect()
但是也沒有用
最後一招,有用
import tensorflow as tf
tf.keras.backend.clear_session()
沒有留言:
張貼留言