| import os |
| import torch |
| import shutil |
| import pyfiglet |
| from functools import partial |
|
|
|
|
| torch_load = partial(torch.load, map_location='cpu', weights_only=True) |
|
|
|
|
| def clear_screen(): |
| os.system('cls' if os.name == 'nt' else 'clear') |
|
|
|
|
| def print_message(message: str): |
| try: |
| terminal_width = shutil.get_terminal_size().columns |
| except: |
| terminal_width = 50 |
| print('\n' + '-' * terminal_width) |
| print(f'\n{message}\n') |
| print('-' * terminal_width + '\n') |
|
|
|
|
| def print_title(title: str): |
| print(pyfiglet.figlet_format(title, font='3d-ascii')) |
|
|
|
|
| def print_done(): |
| print(pyfiglet.figlet_format('== Done ==', font='js_stick_letters')) |
|
|
|
|
| def expand_dms_ids_all(dms_ids, mode: str = None): |
| """ |
| Expand 'all' to actual DMS IDs from benchmarks.proteingym.dms_ids. |
| """ |
| if any(str(x).lower() == 'all' for x in dms_ids): |
| if mode == 'indels': |
| from benchmarks.proteingym.dms_ids import ALL_INDEL_DMS_IDS |
| dms_ids = list(ALL_INDEL_DMS_IDS) |
| else: |
| from benchmarks.proteingym.dms_ids import ALL_SUBSTITUTION_DMS_IDS |
| dms_ids = list(ALL_SUBSTITUTION_DMS_IDS) |
| return dms_ids |
|
|
|
|
| def maybe_compile(model: torch.nn.Module): |
| if os.name == 'posix': |
| try: |
| torch.compile(model, dynamic=True) |
| print_message("Model compiled") |
| except: |
| print_message("Not linux system, will not compile model") |
| return model |
|
|
|
|
| if __name__ == '__main__': |
| folders_to_clean = ['logs', 'results', 'plots', 'embeddings', 'weights'] |
| |
| for folder in folders_to_clean: |
| if os.path.exists(folder): |
| files = os.listdir(folder) |
| if files: |
| response = input(f"Do you want to delete all files in '{folder}' folder? ({len(files)} files) [y/N]: ") |
| if response.lower() == 'y': |
| for file in files: |
| file_path = os.path.join(folder, file) |
| if os.path.isfile(file_path): |
| os.remove(file_path) |
| print(f"All files in '{folder}' have been deleted.") |
| else: |
| print(f"Skipped cleaning '{folder}' folder.") |
| else: |
| print(f"'{folder}' folder is already empty.") |
| else: |
| print(f"'{folder}' folder does not exist.") |
|
|