Feature & Bug fix: Logging overhaul#20
Conversation
- added METRICS logging level to only log training status, not applicable to HPO for now - added early argument parsing for level as it is needed before the regular parsing
NOTEThe HPO stuff is not yet included in this, but I still wanted to open the PR to give you a chance to look at everything before. |
- marked all trial/metric related logging infos to also appear in quiet/metric mode
|
I think the early parameter parsing is ok, I'm not really seeing a better way to do it. Can you please make a separate pull request for fixing #13, the About the progress/metrics logging, I'm not a big fan of introducing a new About the code in general, I'm not sure why we would need a |
What is the current behavior? (You can also link to an open issue here)
Currently there is duplicated output of all information, when running from terminal and Jupyter notebook. And every run prints the full configuration, Rank information etc. which is not necessary in cases of parameter sweeps for example.
What is the new behavior (if this is a feature change)?
User can set a log level vie the
--log-levelCLI flag, with quiet being the one that corresponds to the aforementioned mode.This information then gets parsed directly in
run.py, via a custom function, because logging is used before the regular parsing. The command and options do show up in the--helpscreen.When set to quiet, only the information related to the training, i.e. epoch numbers and metrics, are logged to the terminal.
STDERR is logged to both the terminal and a file, without logging things multiple times.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Not changes necessary, the standard behavior is exactly as before.
Other information: