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

[Add] log dirs to gitignore #1925

Merged
merged 1 commit into from
Dec 21, 2023
Merged

Conversation

rahul-tuli
Copy link
Member

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

Based off of #1860

@rahul-tuli rahul-tuli merged commit daac1ec into logger-framework Dec 21, 2023
@rahul-tuli rahul-tuli deleted the add-log-dirs-to-gitignore branch December 21, 2023 14:38
@rahul-tuli rahul-tuli mentioned this pull request Dec 21, 2023
17 tasks
rahul-tuli added a commit that referenced this pull request Jan 11, 2024
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
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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants