Add causal person fusion and MuVAP stage-3 baselines
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
import pickle
|
||||
import os
|
||||
import os.path as osp
|
||||
import random
|
||||
import numpy as np
|
||||
import torch
|
||||
|
||||
def dump_pickle(lst, file_path, file_name):
|
||||
with open(osp.join(file_path, file_name + '.pkl'), 'wb') as f:
|
||||
pickle.dump(lst, f)
|
||||
|
||||
def create_dir(dir_path):
|
||||
if not osp.exists(dir_path):
|
||||
os.makedirs(dir_path)
|
||||
|
||||
def create_outdir(result_path, overwrite=False):
|
||||
i = 1
|
||||
new_result_path = result_path
|
||||
|
||||
if overwrite == False:
|
||||
while osp.exists(new_result_path):
|
||||
new_result_path = f'{result_path}_{i}'
|
||||
i += 1
|
||||
|
||||
create_dir(osp.join(new_result_path, 'ckpts'))
|
||||
create_dir(osp.join(new_result_path, 'runs'))
|
||||
return new_result_path
|
||||
|
||||
def set_seed(seed):
|
||||
# os.environ['PYTHONHASHSEED'] = str(seed)
|
||||
random.seed(seed)
|
||||
np.random.seed(seed)
|
||||
torch.manual_seed(seed)
|
||||
if torch.cuda.is_available():
|
||||
torch.cuda.manual_seed(seed)
|
||||
torch.cuda.manual_seed_all(seed)
|
||||
torch.backends.cudnn.benchmark = False
|
||||
torch.backends.cudnn.deterministic = True
|
||||
|
||||
def parse_rgb_type(rgb_type):
|
||||
if "rgb_kinetics_resnet50" in rgb_type:
|
||||
rgb_type = "rgb_kinetics_resnet50"
|
||||
elif "rgb_farl" in rgb_type:
|
||||
rgb_type = "rgb_farl"
|
||||
|
||||
return rgb_type
|
||||
|
||||
def parse_flow_type(flow_type):
|
||||
if "audio_wav2vec2" in flow_type:
|
||||
flow_type = "audio_wav2vec2"
|
||||
|
||||
return flow_type
|
||||
|
||||
def get_identifier(cfg):
|
||||
mode = "eval" if cfg["eval"] == True else "train"
|
||||
|
||||
modality = ''
|
||||
if not cfg["no_flow"]:
|
||||
modality += 'A'
|
||||
if not cfg["no_rgb"]:
|
||||
modality += 'V'
|
||||
|
||||
identifier = f'{cfg["model"]}_{cfg["data_name"]}'
|
||||
if 'A' in modality:
|
||||
identifier += f"_{cfg['flow_type']}"
|
||||
if 'V' in modality:
|
||||
identifier += f"_{cfg['rgb_type']}"
|
||||
|
||||
identifier += f'_{modality}_epoch{cfg["num_epoch"]}_{mode}'
|
||||
if cfg["ckpt"] != None:
|
||||
identifier += f'_ckpt_{".".join(osp.basename(cfg["ckpt"]).split(".")[:-1])}'
|
||||
|
||||
return identifier
|
||||
|
||||
Reference in New Issue
Block a user