[DeepSpeed] decouple DeepSpeedConfigHF from Trainer (#11966)
* decouple DeepSpeedConfigHF from Trainer * add LoggingLevel ctx manager; add new test * cleanup * add docs * Apply suggestions from code review Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com> * implemented suggested renames * formatter workaround Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>
This commit is contained in:
@@ -26,6 +26,8 @@ from io import StringIO
|
||||
from pathlib import Path
|
||||
from typing import Iterator, Union
|
||||
|
||||
from transformers import logging as transformers_logging
|
||||
|
||||
from .file_utils import (
|
||||
is_datasets_available,
|
||||
is_faiss_available,
|
||||
@@ -648,6 +650,26 @@ class CaptureLogger:
|
||||
return f"captured: {self.out}\n"
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def LoggingLevel(level):
|
||||
"""
|
||||
This is a context manager to temporarily change transformers modules logging level to the desired value and have it
|
||||
restored to the original setting at the end of the scope.
|
||||
|
||||
For example ::
|
||||
|
||||
with LoggingLevel(logging.INFO):
|
||||
AutoModel.from_pretrained("gpt2") # calls logger.info() several times
|
||||
|
||||
"""
|
||||
orig_level = transformers_logging.get_verbosity()
|
||||
try:
|
||||
transformers_logging.set_verbosity(level)
|
||||
yield
|
||||
finally:
|
||||
transformers_logging.set_verbosity(orig_level)
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
# adapted from https://stackoverflow.com/a/64789046/9201239
|
||||
def ExtendSysPath(path: Union[str, os.PathLike]) -> Iterator[None]:
|
||||
|
||||
Reference in New Issue
Block a user