Skip to content

Commit

Permalink
add memory usage fn
Browse files Browse the repository at this point in the history
  • Loading branch information
davidfitzek committed Sep 14, 2023
1 parent f03f784 commit f6401e0
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions src/rydberggpt/utils.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,55 @@
import functools
import logging
import os
import resource
import sys
from dataclasses import dataclass, make_dataclass
from typing import Any, Dict, List, Tuple, Type, Union

import torch
import yaml
from torch import nn

logger = logging.getLogger(__name__)


def track_memory_usage(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)

# Measure memory used by the function's result
memory_used = sys.getsizeof(result)

# Convert bytes into GB, MB, and KB components
gb, remainder = divmod(memory_used, 1_073_741_824)
mb, kb = divmod(remainder, 1_048_576)
usage = f"Memory used by {func.__name__}: {gb} GB, {mb} MB, and {kb} KB"

logger.info(usage)
return result

return wrapper


# def track_memory_usage(func):
# @functools.wraps(func)
# def wrapper(*args, **kwargs):
# initial_memory_usage = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
# result = func(*args, **kwargs)
# final_memory_usage = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
# memory_difference = final_memory_usage - initial_memory_usage

# # Convert total KB into GB, MB, and KB components
# gb, remainder = divmod(memory_difference, 1_048_576)
# mb, kb = divmod(remainder, 1_024)
# usage = f"Memory used by {func.__name__}: {gb} GB, {mb} MB, and {kb} KB"

# logger.info(usage) # Use memory_logger instead of logger
# return result

# return wrapper


def save_to_yaml(data: Dict[str, Any], filename: str) -> None:
"""
Expand Down

0 comments on commit f6401e0

Please sign in to comment.