log_handler
log.log_handler
LogHandler
LogHandler(name: str = 'SaigeResearch', logdir: Optional[str] = None, add_time_to_logdir: bool = False, logfile: Optional[str] = None, stdout: bool = False, level: str = 'INFO', formatter: str = f'%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s', dashboard: Optional[Dict] = None)
Source code in SaigeToolkit/log/log_handler.py
logger
instance-attribute
logger = configure_logger(name=name, level=level, formatter=formatter, path=logfile_path, stdout=stdout)
log_dashboard
skip_if_logdir_is_none
Decorator to skip the method if logdir is None.
Source code in SaigeToolkit/log/log_handler.py
save_json
Save the data in the {self.logdir}/{json_path}.
Parameters:
-
data(Dict) –data to save
-
json_path(str, default:'log.json') –json path. Defaults to "log.json".
Source code in SaigeToolkit/log/log_handler.py
save_image
Save the image in the {self.logdir}/{file_path}.
Source code in SaigeToolkit/log/log_handler.py
save_code
save_code(target_file: str, directory: str = 'source_code', relative_path: Optional[str] = None) -> None
target_file을 실행하는데 필요한 모든 코드를 "source_code" 디렉토리에 저장합니다.
Parameters:
-
target_file(str) –target_file path
-
directory(str, default:'source_code') –save directory. Defaults to "source_code".
-
relative_path(Optional[str], default:None) –relative path of the target file from the module(main.py). Defaults to None.
Caution
target_file의 경로에 "."이 포함되어 있으면 제대로 작동하지 않습니다.
Usage
1) module과 같은 레벨의 실행 파일에서 소스 코드 저장을 위해 다음과 같이 사용할 수 있습니다.
ex) python run.py 로 실행하고 run.py에서 ./script/train.py의 train 함수를 호출하는 경우
``` python
import __main__
from ..SaigeToolkit.SaigeToolkit.util.log_handler import LogHandler
def train(..., log_handler, ...):
...
log_handler = LogHandler(**log_handler)
log_handler.save_code(__main__.__file__)
```
2) module보다 하위 디렉토리에 있는 실행 파일에서 소스 코드 저장을 위해 다음과 같이 사용할 수 있습니다.
ex) python experiment/test.py로 실행하는 경우.
``` python
import __main__
def test(...):
...
log_handler = LogHandler(**log_handler)
log_handler.save_code(__main__.__file__, relative_path="experiment")
```
Source code in SaigeToolkit/log/log_handler.py
save_yaml
Save the dict in yaml format.
Parameters:
-
data(Dict) –Dict to save
-
filename(str) –filename
Source code in SaigeToolkit/log/log_handler.py
save_source_info
Save current time (KST) + git info + run command in "source_info.json".
Parameters:
-
git_root_dir(str) –.git디렉토리가 위치한 상위 디렉토리 경로.
Source code in SaigeToolkit/log/log_handler.py
save_checkpoint
Save checkpoint in the "checkpoint" directory.
Parameters:
-
trainer(Trainer) –An instance containing information to be saved in the checkpoint.
-
filename(str) –filename
-
password(Optional[str], default:None) –Password for checkpoint file. Defaults to None.
Source code in SaigeToolkit/log/log_handler.py
get_time_string
staticmethod
configure_logger
configure_logger(name: Optional[str] = 'SaigeResearch', level: str = 'INFO', formatter: str = f'%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s', path: Optional[str] = None, stdout: bool = False)