import numpy as np import random import torch import os import zipfile import glob def zip_python_code(output_filename): """ Zips all .py files in the current repository and saves it to the specified output filename. Args: output_filename: The name of the output zip file. Defaults to "python_code_backup.zip". """ with zipfile.ZipFile(output_filename, 'w') as zipf: files = glob.glob('models/**/*.py', recursive=True) + glob.glob('utils/**/*.py', recursive=True) + glob.glob('tasks/**/*.py', recursive=True) + glob.glob('*.py', recursive=True) for file in files: root = '/'.join(file.split('/')[:-1]) nm = file.split('/')[-1] zipf.write(os.path.join(root, nm)) def set_seed(seed=42, deterministic=True): """ ... and the answer is ... """ random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.deterministic = deterministic torch.backends.cudnn.benchmark = False