Python: получить пиковое использование памяти функцией (включая всю назначенную, но удаленную память) - PullRequest
0 голосов
/ 05 декабря 2018

Я использую 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, но для вычисления псевдообратной матрицы явно требуется дополнительная вспомогательная память, которая удаляется после использования.

Может кто-нибудь показать мне, как получить пиковое использование памяти данной функции (или блок кода)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...