Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Logger Refactor] Add tb summary writer like functions #1919

Merged
merged 1 commit into from
Jan 12, 2024

Conversation

rahul-tuli
Copy link
Member

@rahul-tuli rahul-tuli commented Dec 19, 2023

This PR adds a log method with similar signature to https://github.com/pytorch/pytorch/blob/92998693a9455af6259cae468265f01cfff8810e/torch/utils/tensorboard/writer.py#L353 to our LoggerManager

Test:

#local.py
from logging import INFO
from sparseml.core import LoggerManager

def check_tb_type_logging_functions():
    logger_manager = LoggerManager()
    logger_manager.metric.add_scalar(value="Hello World!", level=INFO)
    logger_manager.metric.add_scalars(values={1: "Hello World!"}, level=INFO, tag="my_scalar")

if __name__ == "__main__":
    check_tb_type_logging_functions()

Output:

$ python local.py                                                                                                         (add-tb-like-logging-function|✚1…2⚑7)
2024-01-02 09:09:47 sparseml.core.logger.logger INFO     Logging all SparseML modifier-level logs to sparse_logs/02-01-2024_09.09.47.log
python defaul_tag step None: Hello World!
python my_scalar step None: {1: 'Hello World!'}

Based off of #1932


@rahul-tuli rahul-tuli marked this pull request as ready for review December 19, 2023 15:28
@rahul-tuli rahul-tuli self-assigned this Dec 19, 2023
@rahul-tuli rahul-tuli force-pushed the add-tb-like-logging-function branch from ae31c69 to 525c254 Compare January 2, 2024 14:11
@rahul-tuli rahul-tuli changed the base branch from add-freq-support to sparse_load_quant January 2, 2024 14:11
@rahul-tuli rahul-tuli changed the base branch from sparse_load_quant to split-system-n-metric-logging January 2, 2024 14:12
@rahul-tuli rahul-tuli force-pushed the split-system-n-metric-logging branch from 525c254 to b8f53aa Compare January 11, 2024 19:36
@rahul-tuli rahul-tuli force-pushed the add-tb-like-logging-function branch from 459c9fe to ab440e9 Compare January 11, 2024 21:26
Base automatically changed from split-system-n-metric-logging to logger-framework January 12, 2024 15:57
@rahul-tuli rahul-tuli force-pushed the add-tb-like-logging-function branch from ab440e9 to a61acee Compare January 12, 2024 16:04
@rahul-tuli rahul-tuli merged commit d67a1c8 into logger-framework Jan 12, 2024
@rahul-tuli rahul-tuli deleted the add-tb-like-logging-function branch January 12, 2024 16:05
rahul-tuli added a commit that referenced this pull request Jan 19, 2024
* parent 5007b8c
author Rahul Tuli <rahul@neuralmagic.com> 1702308513 -0500
committer rahul-tuli <rahul@neuralmagic.com> 1704999325 -0500

[Feature] Add Model Level Logs to new Framework (#1783)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

`[Feature][Logger Framework]` Add convenience methods for logging strings (#1855)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

[Feature] Info logs to console and debug logs to file (#1861)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

* Move FileHandler creation above StreamHandler creation

* Remove missed comment

[Move] logger into it's own package (#1924)

improves structure and separation of concerns

Add local logs directory to .gitignore (#1925)

[Add] frequency_manager to check log "readiness" (#1927)

* Add frequency_manager to check log "readiness"

* Refactor condition to be more readable

[Logger Framework][Add] mode and frequency type to FrequencyManager (#1930)

* Add mode and frequency type to FrequencyManager

* move tests cases near the test

* Style

* [Use] frequency manager in logger (#1931)

* Make log_frequency a property of FrequencyManager
Add FrequencyManager to LoggerManager
Add log_wriiten and model_updated to LoggerManager

* [Set] [OLD MODIFIERS]
_last_log_epoch to None

* Update old modifiers to use named arguments to log_ready

* [Update][Rename]
* `PossibleLoggingMode` --> `LoggingModeType`
* `PossibleFrequencyType` --> `FrequencyType`

* Fix log format when step is None (#1933)

* [Add] Wrap System and Metric Logging into it's own classes (#1932)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* [Logger Refactor] Session based Logs (#1920)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add session level logs

* [Logger Framework] Log Losses (#1934)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add logs for loss

* Add test

* Use Sparsification Group logger (#1936)

* Save last log step
Add a stateless log_ready method

* log only when loss is not None

* Add tb style logging functions (#1919)

* Add wandb log function (#1918)

* [Test Update] Fix failing tests after adding back old logger (#1963)

* [Logger Refactor] Add timer in logger manager (#1967)

* Add timer in logger manager

* Address review comments

* update docstring

* fix argument
rahul-tuli added a commit that referenced this pull request Jan 19, 2024
* parent 5007b8c
author Rahul Tuli <rahul@neuralmagic.com> 1702308513 -0500
committer rahul-tuli <rahul@neuralmagic.com> 1704999325 -0500

[Feature] Add Model Level Logs to new Framework (#1783)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

`[Feature][Logger Framework]` Add convenience methods for logging strings (#1855)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

[Feature] Info logs to console and debug logs to file (#1861)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

* Move FileHandler creation above StreamHandler creation

* Remove missed comment

[Move] logger into it's own package (#1924)

improves structure and separation of concerns

Add local logs directory to .gitignore (#1925)

[Add] frequency_manager to check log "readiness" (#1927)

* Add frequency_manager to check log "readiness"

* Refactor condition to be more readable

[Logger Framework][Add] mode and frequency type to FrequencyManager (#1930)

* Add mode and frequency type to FrequencyManager

* move tests cases near the test

* Style

* [Use] frequency manager in logger (#1931)

* Make log_frequency a property of FrequencyManager
Add FrequencyManager to LoggerManager
Add log_wriiten and model_updated to LoggerManager

* [Set] [OLD MODIFIERS]
_last_log_epoch to None

* Update old modifiers to use named arguments to log_ready

* [Update][Rename]
* `PossibleLoggingMode` --> `LoggingModeType`
* `PossibleFrequencyType` --> `FrequencyType`

* Fix log format when step is None (#1933)

* [Add] Wrap System and Metric Logging into it's own classes (#1932)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* [Logger Refactor] Session based Logs (#1920)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add session level logs

* [Logger Framework] Log Losses (#1934)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add logs for loss

* Add test

* Use Sparsification Group logger (#1936)

* Save last log step
Add a stateless log_ready method

* log only when loss is not None

* Add tb style logging functions (#1919)

* Add wandb log function (#1918)

* [Test Update] Fix failing tests after adding back old logger (#1963)

* [Logger Refactor] Add timer in logger manager (#1967)

* Add timer in logger manager

* Address review comments

* update docstring

* fix argument
rahul-tuli added a commit that referenced this pull request Jan 22, 2024
* parent 5007b8c
author Rahul Tuli <rahul@neuralmagic.com> 1702308513 -0500
committer rahul-tuli <rahul@neuralmagic.com> 1704999325 -0500

[Feature] Add Model Level Logs to new Framework (#1783)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

`[Feature][Logger Framework]` Add convenience methods for logging strings (#1855)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

[Feature] Info logs to console and debug logs to file (#1861)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

* Move FileHandler creation above StreamHandler creation

* Remove missed comment

[Move] logger into it's own package (#1924)

improves structure and separation of concerns

Add local logs directory to .gitignore (#1925)

[Add] frequency_manager to check log "readiness" (#1927)

* Add frequency_manager to check log "readiness"

* Refactor condition to be more readable

[Logger Framework][Add] mode and frequency type to FrequencyManager (#1930)

* Add mode and frequency type to FrequencyManager

* move tests cases near the test

* Style

* [Use] frequency manager in logger (#1931)

* Make log_frequency a property of FrequencyManager
Add FrequencyManager to LoggerManager
Add log_wriiten and model_updated to LoggerManager

* [Set] [OLD MODIFIERS]
_last_log_epoch to None

* Update old modifiers to use named arguments to log_ready

* [Update][Rename]
* `PossibleLoggingMode` --> `LoggingModeType`
* `PossibleFrequencyType` --> `FrequencyType`

* Fix log format when step is None (#1933)

* [Add] Wrap System and Metric Logging into it's own classes (#1932)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* [Logger Refactor] Session based Logs (#1920)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add session level logs

* [Logger Framework] Log Losses (#1934)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add logs for loss

* Add test

* Use Sparsification Group logger (#1936)

* Save last log step
Add a stateless log_ready method

* log only when loss is not None

* Add tb style logging functions (#1919)

* Add wandb log function (#1918)

* [Test Update] Fix failing tests after adding back old logger (#1963)

* [Logger Refactor] Add timer in logger manager (#1967)

* Add timer in logger manager

* Address review comments

* update docstring

* fix argument
bfineran pushed a commit that referenced this pull request Jan 22, 2024
* parent 5007b8c
author Rahul Tuli <rahul@neuralmagic.com> 1702308513 -0500
committer rahul-tuli <rahul@neuralmagic.com> 1704999325 -0500

[Feature] Add Model Level Logs to new Framework (#1783)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

`[Feature][Logger Framework]` Add convenience methods for logging strings (#1855)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

[Feature] Info logs to console and debug logs to file (#1861)

* Empty commit

* - Add loggable_items in ModifiableModel Contract
- Add pytorch implementation od loggable_items
- Attach logger to state
- Make changes in lifecycle convenience functions to include loggers
- Add log_model_info method in Modifier which is called on
each `update_event` but logs only on epoch end

* - Move log call at the end of update_event
- Remove extra space

* - Move model level logging responsibility to
`ModelLoggingMixin_`

* - Style

* - Update docstring

* - Move mixin to it's own file

* - Add test

* - update logic to check epoch end

* - Add more tests

* - log model level logs at session level
- filter logs to only include percentages
- filter logs to only include params with non zero sparsity
- filter logs to include only quantized modules
- LoggerMixin functions to helpers.py

* - Expose model log cadence
- Propagate cadence via session to state and loggers
- log model info in session
- update log condition in logger.py

* - Migrate tests

* Fix epoch number logging

* - fix failing test

* Address review comments!

* Remove event_type from should log model info

* Update docstring

* Style

* mock _log_model_info

* Move to using log scalar over log string
Do not log at last_log_epoch but only if current epoch has reached specified cadence
Remove model log cadence
Style
Update tests

* Adds convenience methods to logger manager
to better conform to python's  `logging.Logger`

* Move FileHandler creation above StreamHandler creation

* Remove missed comment

[Move] logger into it's own package (#1924)

improves structure and separation of concerns

Add local logs directory to .gitignore (#1925)

[Add] frequency_manager to check log "readiness" (#1927)

* Add frequency_manager to check log "readiness"

* Refactor condition to be more readable

[Logger Framework][Add] mode and frequency type to FrequencyManager (#1930)

* Add mode and frequency type to FrequencyManager

* move tests cases near the test

* Style

* [Use] frequency manager in logger (#1931)

* Make log_frequency a property of FrequencyManager
Add FrequencyManager to LoggerManager
Add log_wriiten and model_updated to LoggerManager

* [Set] [OLD MODIFIERS]
_last_log_epoch to None

* Update old modifiers to use named arguments to log_ready

* [Update][Rename]
* `PossibleLoggingMode` --> `LoggingModeType`
* `PossibleFrequencyType` --> `FrequencyType`

* Fix log format when step is None (#1933)

* [Add] Wrap System and Metric Logging into it's own classes (#1932)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* [Logger Refactor] Session based Logs (#1920)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add session level logs

* [Logger Framework] Log Losses (#1934)

* Add __repr__
Move string logging functions to SystemLoggingWrapper
Move metric logging functions to MetricLoggingWrapper

* minor fixes

* Remove warnings

* Add back old logger

* Add logs for loss

* Add test

* Use Sparsification Group logger (#1936)

* Save last log step
Add a stateless log_ready method

* log only when loss is not None

* Add tb style logging functions (#1919)

* Add wandb log function (#1918)

* [Test Update] Fix failing tests after adding back old logger (#1963)

* [Logger Refactor] Add timer in logger manager (#1967)

* Add timer in logger manager

* Address review comments

* update docstring

* fix argument
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants