示例#1
0
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)
示例#2
0
            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))
示例#3
0
                                  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])
示例#4
0
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'


示例#5
0
    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,