Spaces:
Sleeping
Sleeping
| import gc | |
| import rich | |
| from rich.tree import Tree | |
| from rich.syntax import Syntax | |
| import torch | |
| from omegaconf import DictConfig, OmegaConf | |
| def print_config( | |
| config, | |
| fields=( | |
| "trainer", | |
| "model", | |
| "callbacks", | |
| "logger", | |
| "seed", | |
| "name", | |
| ), | |
| resolve: bool = True, | |
| save_config: bool = False, | |
| ) -> None: | |
| """Prints content of DictConfig using Rich library and its tree structure. | |
| Args: | |
| config (DictConfig): Configuration composed by Hydra. | |
| fields (Sequence[str], optional): Determines which main fields from config will | |
| be printed and in what order. | |
| resolve (bool, optional): Whether to resolve reference fields of DictConfig. | |
| """ | |
| style = "dim" | |
| tree = Tree("CONFIG", style=style, guide_style=style) | |
| for field in fields: | |
| branch = tree.add(field, style=style, guide_style=style) | |
| config_section = config.get(field) | |
| branch_content = str(config_section) | |
| if isinstance(config_section, DictConfig): | |
| branch_content = OmegaConf.to_yaml(config_section, resolve=resolve) | |
| branch.add(Syntax(branch_content, "yaml")) | |
| rich.print(tree) | |
| if save_config: | |
| with open("config_tree.log", "w") as fp: | |
| rich.print(tree, file=fp) | |
| def clean_gpu(): | |
| gc.collect() | |
| torch.cuda.empty_cache() | |