(msg, level=logging.INFO, flush=True)
| 137 | logger.log(level=level, msg=msg) |
| 138 | |
| 139 | def print_all(msg, level=logging.INFO, flush=True): |
| 140 | if isinstance(level, str): |
| 141 | level = getattr(logging, level.upper()) |
| 142 | if torch.distributed.is_initialized(): |
| 143 | msg = f"[RANK {torch.distributed.get_rank()}] {msg}" |
| 144 | logger.log(level=level, msg=msg) |
| 145 | if flush: |
| 146 | logger.handlers[0].flush() |
| 147 | |
| 148 | def debug_param(name, param): |
| 149 | print_all(f"param: {name}, min: {param.min()}, max: {param.max()}, mean: {param.mean()}, std: {param.std()}, scale: {param.abs().mean()}, first5: {param.flatten()[:5]}, last5: {param.flatten()[-5:]}") |
no test coverage detected