From 3ea4f7e1d4bbba35befcff6db5469c0a579274eb Mon Sep 17 00:00:00 2001 From: rahul-tuli Date: Wed, 17 Jan 2024 08:51:41 -0500 Subject: [PATCH 1/4] Add timer in logger manager --- src/sparseml/core/logger/logger.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/sparseml/core/logger/logger.py b/src/sparseml/core/logger/logger.py index a4104fd81eb..dc60e006333 100644 --- a/src/sparseml/core/logger/logger.py +++ b/src/sparseml/core/logger/logger.py @@ -21,6 +21,7 @@ import time import warnings from abc import ABC +from contextlib import contextmanager from datetime import datetime from logging import CRITICAL, DEBUG, ERROR, INFO, WARN, Logger from pathlib import Path @@ -1123,6 +1124,25 @@ def log_string( level=level, ) + @contextmanager + def time(self, tag: Optional[str] = None, *args, **kwargs): + """ + Context manager to log the time it takes to run the block of code + + Usage: + >>> with LoggerManager().system.time("my_block"): + >>> time.sleep(1) + + :param tag: identifying tag to log the values with + """ + + start = time.time() + yield + elapsed = time.time() - start + if not tag: + tag = f"{DEFAULT_TAG}_time" + self.log_string(tag=tag, string=f"{elapsed:.3f}s", *args, **kwargs) + def debug(self, tag, string, *args, **kwargs): """ logs a string message with level DEBUG on all From 3a357887bd1ccf94c6994191a6e0074cfe421dee Mon Sep 17 00:00:00 2001 From: rahul-tuli Date: Fri, 19 Jan 2024 10:13:31 -0500 Subject: [PATCH 2/4] Address review comments --- src/sparseml/core/logger/logger.py | 38 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/sparseml/core/logger/logger.py b/src/sparseml/core/logger/logger.py index dc60e006333..8704d77b44e 100644 --- a/src/sparseml/core/logger/logger.py +++ b/src/sparseml/core/logger/logger.py @@ -1075,6 +1075,25 @@ def save( if log.enabled: log.save(file_path, **kwargs) + @contextmanager + def time(self, tag: Optional[str] = None, *args, **kwargs): + """ + Context manager to log the time it takes to run the block of code + + Usage: + >>> with LoggerManager().system.time("my_block"): + >>> time.sleep(1) + + :param tag: identifying tag to log the values with + """ + + start = time.time() + yield + elapsed = time.time() - start + if not tag: + tag = f"{DEFAULT_TAG}_time_secs" + self.log_scalar(tag=tag, string=float(f"{elapsed:.3f}"), *args, **kwargs) + class LoggingWrapperBase: """ @@ -1124,25 +1143,6 @@ def log_string( level=level, ) - @contextmanager - def time(self, tag: Optional[str] = None, *args, **kwargs): - """ - Context manager to log the time it takes to run the block of code - - Usage: - >>> with LoggerManager().system.time("my_block"): - >>> time.sleep(1) - - :param tag: identifying tag to log the values with - """ - - start = time.time() - yield - elapsed = time.time() - start - if not tag: - tag = f"{DEFAULT_TAG}_time" - self.log_string(tag=tag, string=f"{elapsed:.3f}s", *args, **kwargs) - def debug(self, tag, string, *args, **kwargs): """ logs a string message with level DEBUG on all From 6fdd4f0ad54df0189fd50e03e2f17b7861a7376d Mon Sep 17 00:00:00 2001 From: rahul-tuli Date: Fri, 19 Jan 2024 10:15:30 -0500 Subject: [PATCH 3/4] update docstring --- src/sparseml/core/logger/logger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sparseml/core/logger/logger.py b/src/sparseml/core/logger/logger.py index 8704d77b44e..e2e437e1b57 100644 --- a/src/sparseml/core/logger/logger.py +++ b/src/sparseml/core/logger/logger.py @@ -1081,7 +1081,7 @@ def time(self, tag: Optional[str] = None, *args, **kwargs): Context manager to log the time it takes to run the block of code Usage: - >>> with LoggerManager().system.time("my_block"): + >>> with LoggerManager().time("my_block"): >>> time.sleep(1) :param tag: identifying tag to log the values with From c3bcdb7f1ffe3b6cae862e4df18a918587e88bd3 Mon Sep 17 00:00:00 2001 From: rahul-tuli Date: Fri, 19 Jan 2024 10:26:31 -0500 Subject: [PATCH 4/4] fix argument --- src/sparseml/core/logger/logger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sparseml/core/logger/logger.py b/src/sparseml/core/logger/logger.py index e2e437e1b57..681e5c54d7c 100644 --- a/src/sparseml/core/logger/logger.py +++ b/src/sparseml/core/logger/logger.py @@ -1092,7 +1092,7 @@ def time(self, tag: Optional[str] = None, *args, **kwargs): elapsed = time.time() - start if not tag: tag = f"{DEFAULT_TAG}_time_secs" - self.log_scalar(tag=tag, string=float(f"{elapsed:.3f}"), *args, **kwargs) + self.log_scalar(tag=tag, value=float(f"{elapsed:.3f}"), *args, **kwargs) class LoggingWrapperBase: