cfg.embed_size, cfg.batch_size, cfg.lr, cfg.step_size, cfg.cap_embed_type,
    cfg.image_melt_layer, cfg.np)
if cfg.note:
    cfg.exp_name += "_" + cfg.note
cfg.model_path = os.path.join("/shared/rsaas/aiyucui2/wider_person",
                              cfg.model_path, cfg.exp_name)
cfg.output_path = os.path.join("/shared/rsaas/aiyucui2/wider_person",
                               cfg.output_path, cfg.exp_name)

if not os.path.exists(cfg.model_path):
    os.mkdir(cfg.model_path)
if not os.path.exists(cfg.output_path):
    os.mkdir(cfg.output_path)

logger = Logger(os.path.join(cfg.output_path, "log.txt"))
logger.log(str(cfg))

#------------------
## agents
#------------------
# Data loaders
train_loader = build_wider_dataloader(cfg)
cfg.num_ids = len(train_loader.dataset.person2label.values())
test_text_loader = build_text_test_loader(cfg)
test_image_loader = build_image_test_loader(cfg)

# Evaluators
Evaluator = NPEvaluator if cfg.np else GlobalEvaluator

evaluator = Evaluator(img_loader=test_image_loader,
                      cap_loader=test_text_loader,
    cfg.lr,
    cfg.cap_embed_type,
    cfg.image_melt_layer,
    cfg.cos_margin,
    cfg.np)
cfg.exp_name += "_id_only"
cfg.model_path = os.path.join("/shared/rsaas/aiyucui2/wider_person", cfg.model_path, cfg.exp_name)
cfg.output_path = os.path.join("/shared/rsaas/aiyucui2/wider_person", cfg.output_path, cfg.exp_name)

if not os.path.exists(cfg.model_path):
    os.mkdir(cfg.model_path)
if not os.path.exists(cfg.output_path):
    os.mkdir(cfg.output_path)

logger = Logger(os.path.join(cfg.output_path, "log.txt"))
logger.log(str(cfg))


#------------------
## agents
#------------------
# Data loaders
train_loader = build_wider_dataloader(cfg)
cfg.num_ids = len(train_loader.dataset.person2label.values())
test_text_loader = build_text_test_loader(cfg) 
test_image_loader = build_image_test_loader(cfg) 

# Evaluators 
Evaluator = NPEvaluator if cfg.np else GlobalEvaluator

evaluator = Evaluator(img_loader=test_image_loader,