onnx_extended.memory_peak#

get_memory_rss#

onnx_extended.memory_peak.get_memory_rss(pid: int) int[source]#

Returns the physical memory used by a process.

Parameters:

pid – process id, current one is os.getpid()

Returns:

physical memory

It relies on the module psutil.

MemorySpy#

class onnx_extended.memory_peak.MemorySpy(pid: int, delay: float = 0.01, cuda: bool = False)[source]#

Information about the spy. It class method start. Method stop can be called to end the measure.

Parameters:
  • pid – process id of the process to spy on

  • delay – spy on every delay seconds

  • cuda – enable cuda monitoring

start() MemorySpy[source]#

Starts another process and tells it to spy.

stop()[source]#

Stops spying on.

start_spying_on#

onnx_extended.memory_peak.start_spying_on(pid: int | None = None, delay: float = 0.01, cuda: bool = False) MemorySpy[source]#

Starts the memory spy. The function starts another process spying on the one sent as an argument.

Parameters:
  • pid – process id to spy or the the current one.

  • delay – delay between two measures.

  • cuda – True or False to get memory for cuda devices

Example:

.. code-block:: python

from onnx_extended.memory_peak import start_spying_on

p = start_spying_on() # … # code to measure # … stat = p.stop() print(stat)