model = VisualCML(batch_size=batch_size, max_user=raw_data['max_user'], max_item=raw_data['max_item'], l2_reg=0.001, l2_reg_mlp=0.001, dropout_rate=0.5, dim_embed=50, item_f_source=raw_data['item_features'], dims=[1028, 128, 50], sess_config=sess_config, opt='Adam') 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, item_serving_size=item_serving_size, train_dataset=train_dataset, model=model, sampler=sampler) auc_evaluator = AUC() recall_evaluator = Recall(recall_at=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) model_trainer.train(num_itr=int(1e5), display_itr=display_itr, eval_datasets=[val_dataset, test_dataset], evaluators=[auc_evaluator, recall_evaluator], num_negatives=1000)
dim_embed=20, opt='Adam', sess_config=config) sampler = PairwiseSamplerWithExplicitConversion( dataset=train_dataset, batch_size=batch_size, num_process=3) model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=model, sampler=sampler) 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]) print(((str(datetime.datetime.now())).split('.')[0]).split(' ')[ 1] + ' ' + ((str(datetime.datetime.now())).split('.')[0]).split(' ')[0]) print(fileToLoad) model_trainer.train(num_itr=int(10), display_itr=display_itr, eval_datasets=[val_dataset], evaluators=[auc_evaluator, recall_evaluator, precision_evaluator, ndcg_evaluator]) print("Save") model.save("./model", 3) print("Saved") # big_bpr = BPR(batch_size=batch_size, max_user=max_user, # max_item=max_item, dim_embed=20) # Recommender.load(big_bpr, "model-1") # print("model loaded") # print(big_bpr) # print(big_bpr.serve(pythonsucks))
name='Val') test_dataset = ImplicitDataset(raw_data=csv, max_user=max_users, max_item=max_items, name='Test') bpr_model = BPR(batch_size=1000, max_user=train_dataset.max_user(), max_item=train_dataset.max_item(), dim_embed=20, opt='Adam') print("before sampler") sampler = PairwiseSampler(batch_size=1000, dataset=train_dataset) print("after sampler") auc_evaluator = AUC() print("after evaluator") model_trainer = ImplicitModelTrainer(batch_size=1000, test_batch_size=100, train_dataset=train_dataset, model=bpr_model, sampler=sampler) print("after implicit") model_trainer.train(num_itr=10, display_itr=10, eval_datasets=[val_dataset, test_dataset], evaluators=[auc_evaluator])
test_batch_size = 100 display_itr = 10000 print 'yuck' train_dataset = ImplicitDataset(raw_data['train_data'], raw_data['max_user'], raw_data['max_item'], name='Train') print 'h' val_dataset = ImplicitDataset(raw_data['val_data'], raw_data['max_user'], raw_data['max_item'], name='Val') print 'e' test_dataset = ImplicitDataset(raw_data['test_data'], raw_data['max_user'], raw_data['max_item'], name='Test') print 'here 1' youtube_model = YoutubeRec(batch_size=batch_size, max_user=train_dataset.max_user(), max_item=train_dataset.max_item(), dim_embed=20, sess_config=sess_config, opt='Adam') # bpr_model = FeatureBasedBPR(batch_size=batch_size, max_user=train_dataset.max_user(), max_item=train_dataset.max_item(), # dim_embed=20, opt='Adam', sess_config=sess_config) print 'here 2' sampler = GeneralSampler(batch_size=batch_size, dataset=train_dataset, num_process=1, genre_f = raw_data['song_to_genre']) print 'here 3' model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=youtube_model, sampler=sampler) print 'here 4' auc_evaluator = AUC() print 'here 5' model_trainer.train(num_itr=int(1e6), display_itr=display_itr, eval_datasets=[val_dataset, test_dataset], evaluators=[auc_evaluator]) print 'here 6'
if dataset_name == "amazon_book": eval_save_prefix = None model_trainer = ImplicitModelTrainer(batch_size=batch_size, test_batch_size=test_batch_size, train_dataset=train_dataset, model=fhmf_model, sampler=sampler, eval_save_prefix=eval_save_prefix) #Evaluators auc_evaluator = AUC() recall_evaluator = Recall(recall_at=[10, 50, 100, 300]) #mse_evaluator = MSE() #Train model_trainer.train(num_itr=num_itr, display_itr=display_itr, eval_datasets=[focused_val_set, focused_test_set], evaluators=[auc_evaluator, recall_evaluator], num_negatives=num_negatives) elif recommender == "PMF": model = PMF(batch_size=batch_size, max_user=train_dataset.max_user(), max_item=train_dataset.max_item(), dim_embed=50, opt='Adam', sess_config=sess_config, l2_reg=l2_reg) sampler = PointwiseSampler(batch_size=batch_size, dataset=train_dataset, pos_ratio=pos_ratio,