Tzktz's picture
Upload 7664 files
6fc683c verified
import random
import numpy as np
import torch
import os
import shutil
# import logging
import sys
# def set_logging(args):
# '''
# Set logger for recording
# '''
# logging.basicConfig(filename="./output/{}/log.txt".format(args.exp_name), level=logging.INFO,
# format='[%(asctime)s.%(msecs)03d] %(message)s', datefmt='%H:%M:%S')
# logging.getLogger().addHandler(logging.StreamHandler(sys.stdout))
# logging.info(str(args))
def set_seed(args):
'''
Set seed for reproducibility
'''
random.seed(args.seed)
np.random.seed(args.seed)
torch.manual_seed(args.seed)
# if args.n_gpu > 0:
# torch.cuda.manual_seed_all(args.seed)
def set_exp_folder(args):
'''
Create a folder to store experimental results e.g., checkpoints or log
'''
os.makedirs(os.path.join(args.output_dir, 'output'), exist_ok=True)
if os.path.exists(os.path.join('output', args.exp_name)):
if not args.overwrite_output_dir:
assert False, 'The exp_name is already used. Please modify the experiment name or use --overwrite_output_dir'
else:
print('Remove original directories.')
shutil.rmtree(os.path.join('output', args.exp_name))
print('Remove successfully.')
os.makedirs(os.path.join(args.output_dir, 'output', args.exp_name), exist_ok=True)
exp_path = os.path.join(args.output_dir, 'output', args.exp_name)
print(f'Path [{exp_path}] has been created')
def check_screen():
'''
Check whether the experiment is in screen
'''
text = os.popen('echo $STY').readlines()
string = ''
for line in text:
string += line
if len(string.strip()) == 0:
print("**** Attention Please! The code is not executed in Screen! ****")
else:
print(f'**** Screen Name : {string} ****')