Spaces:
Running
Running
import torch | |
import os | |
from utils.common.log import logger | |
from utils.common.others import get_cur_time_str | |
from utils.common.file import ensure_dir | |
def save_models_dict_for_init(models_dict, exp_entry_file, target_file_name): | |
target_file_path = os.path.join(os.path.dirname(exp_entry_file), f'entry_model/{target_file_name}.pt') | |
# if os.path.exists(target_file_path): | |
# logger.info(f'model already saved in {target_file_path}, return ({(os.path.getsize(target_file_path) / 1024**2):.3f}MB)') | |
# return target_file_path | |
ensure_dir(target_file_path) | |
torch.save(models_dict, target_file_path) | |
logger.info(f'model saved in {target_file_path} ({(os.path.getsize(target_file_path) / 1024**2):.3f}MB)') | |
return target_file_path | |
def get_res_save_dir(exp_entry_file, tag=None): | |
""" | |
Design objective: the latest exp result is located in the top of VSCode file explorer (default it is located in the most bottom) | |
""" | |
cur_time_str = get_cur_time_str() | |
day, time = cur_time_str[0: 8], cur_time_str[8: ] | |
base_p = os.path.join(os.path.dirname(exp_entry_file), f'results/{os.path.basename(exp_entry_file)}') | |
p = os.path.join(base_p, day) | |
if not os.path.exists(p): | |
t = 0 | |
else: | |
t = len(os.listdir(p)) | |
t = f'{(999999 - t):06d}' | |
if tag is None: | |
p = os.path.join(p, f'{t}-{time}') | |
else: | |
p = os.path.join(p, f'{t}-{time}-{tag}') | |
return p | |