Download 3d_parallel/step1_modelling/utils.py from Aravindhan11/Distributed-Transformer-Framework: direct link, hf CLI and curl.
- Browser
- Download file 1.24 kB
-
https://huggingface.co/spaces/Aravindhan11/Distributed-Transformer-Framework/resolve/main/3d_parallel/step1_modelling/utils.py
- Command line
-
hf download hf://spaces/Aravindhan11/Distributed-Transformer-Framework/3d_parallel/step1_modelling/utils.py
-
curl -L -o utils.py https://huggingface.co/spaces/Aravindhan11/Distributed-Transformer-Framework/resolve/main/3d_parallel/step1_modelling/utils.py
1.24 kB
| import torch | |
| import random | |
| import numpy as np | |
| import builtins | |
| import sys | |
| def print(*args, is_print_rank=True, **kwargs): | |
| """ solves multi-process interleaved print problem """ | |
| if not is_print_rank: return | |
| # Windows-compatible version without fcntl | |
| builtins.print(*args, **kwargs) | |
| def set_all_seed(seed): | |
| for module in [random, np.random]: module.seed(seed) | |
| torch.manual_seed(seed) | |
| if torch.cuda.is_available(): torch.cuda.manual_seed_all(seed) | |
| def to_readable_format(num, precision=3): | |
| num_str = str(num) | |
| length = len(num_str) | |
| def format_with_precision(main, decimal, suffix): | |
| if precision == 0: | |
| return f"{main}{suffix}" | |
| return f"{main}.{decimal[:precision]}{suffix}" | |
| if length > 12: # Trillions | |
| return format_with_precision(num_str[:-12], num_str[-12:], 'T') | |
| elif length > 9: # Billions | |
| return format_with_precision(num_str[:-9], num_str[-9:], 'B') | |
| elif length > 6: # Millions | |
| return format_with_precision(num_str[:-6], num_str[-6:], 'M') | |
| elif length > 3: # Thousands | |
| return format_with_precision(num_str[:-3], num_str[-3:], 'K') | |
| else: | |
| return num_str |