import argparse import logging import time from core import * from managers import * from utils import * logging.basicConfig(level=logging.INFO) parser = argparse.ArgumentParser(description='TransE model') parser.add_argument("--experiment_name", type=str, default="default", help="Experiment folder to load model from") parser.add_argument("--p_norm", type=int, default=1, help="The norm to use for the distance metric") parser.add_argument("--embedding_dim", type=int, default=50, help="Entity and relations embedding size") parser.add_argument("--neg_sample_size", type=int, default=100, help="No. of negative samples to compare to for MRR/MR/Hit@10") parser.add_argument('--disable-cuda', action='store_true', help='Disable CUDA') parser.add_argument('--filter', action='store_true', help='Filter the samples while evaluation') parser.add_argument('--eval_mode', type=str, default="head", help='Evaluate on head and/or tail prediction?') params = parser.parse_args() params.device = None if not params.disable_cuda and torch.cuda.is_available(): params.device = torch.device('cuda') else: params.device = torch.device('cpu') logging.info(params.device) exps_dir = os.path.join(MAIN_DIR, 'experiments') params.exp_dir = os.path.join(exps_dir, params.experiment_name) test_data_sampler = DataSampler(TEST_DATA_PATH, ALL_DATA_PATH) transE = initialize_model(params) evaluator = Evaluator(transE, test_data_sampler, params) logging.info('Testing model %s' % os.path.join(params.exp_dir, 'best_model.pth')) tic = time.time() log_data = evaluator.get_log_data(params.eval_mode) toc = time.time() logging.info('Test performance: %s in %f' % (str(log_data), toc - tic))