Я использую Python3.6 с ОС Windows10.Мне нужно рассчитать пиковое использование памяти данной функции.Я попытался
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, но для вычисления псевдообратной матрицы явно требуется дополнительная вспомогательная память, которая удаляется после использования.
Может кто-нибудь показать мне, как получить пиковое использование памяти данной функции (или блок кода)?