raw_data['max_user'] = 99473 raw_data['max_item'] = 450166 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') model = BPR(batch_size=batch_size, max_user=train_dataset.max_user(), max_item=train_dataset.max_item(), dim_embed=100, opt='Adam', sess_config=None, l2_reg=0.001) sampler = PairwiseSampler(batch_size=batch_size, dataset=train_dataset, num_process=5) model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=model, sampler=sampler, eval_save_prefix="bpr-amazon") 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]) model.load("bpr-amazon") model_trainer._eval_manager = ImplicitEvalManager(evaluators=[auc_evaluator, recall_evaluator, ndcg_evaluator, precision_evaluator]) model_trainer._num_negatives = 200 model_trainer._exclude_positives([train_dataset, val_dataset, test_dataset]) model_trainer._sample_negatives(seed=10) model_trainer._eval_save_prefix = "bpr-amazon-test" model_trainer._evaluate_partial(test_dataset)
max_item=train_dataset.max_item(), dim_embed=50, opt='Adam', sess_config=None, l2_reg=0.1) sampler = PairwiseSampler(batch_size=batch_size, dataset=train_dataset, num_process=5) model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=cml_model, sampler=sampler, eval_save_prefix="cml-citeulike") 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]) cml_model.load("cml-citeulike") 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 = "cml-citeulike-test" model_trainer._evaluate_partial(test_dataset)
dataset=train_dataset, num_process=4) model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=model, sampler=sampler, eval_save_prefix="pmf-yahoo", item_serving_size=666) auc_evaluator = AUC() model.load("pmf-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 = "pmf-yahoo-test-pos" model_trainer._evaluate_partial(test_dataset_pos) model_trainer._eval_save_prefix = "pmf-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()