model=model, sampler=sampler, eval_save_prefix="bpr-yahoo", item_serving_size=666) auc_evaluator = AUC() model.load("bpr-yahoo") model_trainer._eval_manager = ImplicitEvalManager(evaluators=[auc_evaluator]) model_trainer._num_negatives = 200 model_trainer._exclude_positives( [train_dataset, test_dataset_pos, test_dataset_neg]) model_trainer._sample_negatives(seed=10) model_trainer._eval_save_prefix = "bpr-yahoo-test-pos" model_trainer._evaluate_partial(test_dataset_pos) model_trainer._eval_save_prefix = "bpr-yahoo-test-neg" model_trainer._evaluate_partial(test_dataset_neg) def eq(infilename, infilename_neg, trainfilename, gamma=-1.0): infile = open(infilename, 'rb') infile_neg = open(infilename_neg, 'rb') P = pickle.load(infile) infile.close() P_neg = pickle.load(infile_neg) infile_neg.close() NUM_NEGATIVES = P["num_negatives"] # for theuser in P["users"]:
batch_size = 8000 test_batch_size = 1000 display_itr = 5000 train_dataset = ImplicitDataset(raw_data['train_data'], raw_data['max_user'], raw_data['max_item'], name='Train') val_dataset = ImplicitDataset(raw_data['val_data'], raw_data['max_user'], raw_data['max_item'], name='Val') test_dataset = ImplicitDataset(raw_data['test_data'], raw_data['max_user'], raw_data['max_item'], name='Test') wcml_model = WCML(batch_size=batch_size, max_user=train_dataset.max_user(), max_item=train_dataset.max_item(), dim_embed=50, neg_num=5, l2_reg=0.1, opt='Adam', sess_config=None) sampler = NPairwiseSampler(batch_size=batch_size, dataset=train_dataset, negativenum=5, num_process=4) model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=wcml_model, sampler=sampler, eval_save_prefix="wcml-citeulike", item_serving_size=500) auc_evaluator = AUC() recall_evaluator = Recall(recall_at=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) precision_evaluator = Precision(precision_at=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) ndcg_evaluator = NDCG(ndcg_at=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) wcml_model.load("wcml-citeulike-dcg_auc") model_trainer._eval_manager = ImplicitEvalManager(evaluators=[auc_evaluator, recall_evaluator, ndcg_evaluator, precision_evaluator]) model_trainer._num_negatives = 200 model_trainer._exclude_positives([test_dataset]) model_trainer._sample_negatives(seed=10) model_trainer._eval_save_prefix = "wcml-citeulike-test" model_trainer._evaluate_partial(test_dataset)