我在Windows10 OS上使用Python3.6。我需要计算给定函数的峰值内存使用率。我尝试过
import numpy as np
from numpy.linalg import pinv
from memory_profiler import profile
X = np.random.randn(300,500)
@profile
def invX(X):
inv_X = pinv(X)
return inv_X
inv_X = invX(X)
计算伪逆的内存使用情况。输出
Line # Mem usage Increment Line Contents
================================================
13 1.1 MiB 0.0 MiB @profile
14 def invX(X):
15 1.1 MiB 0.0 MiB inv_X = pinv(X)
16 1.1 MiB 0.0 MiB return inv_X
我确实相信1.1M仅指矩阵X的存储,但是计算矩阵的伪逆数显然需要额外的辅助内存,该内存在使用后会被删除。
有人可以告诉我如何获取给定功能(或代码块)的峰值内存使用情况吗?