Exemple #1
0
def model_predict(path_finish, path_like):
    Config["normal_config"]["pretrain"] = True
    Config["normal_config"]["pretrain_model_dir"] = path_finish
    engine_finish = ModelEngine(config=Config, model=NFFM)

    sample_generator = SampleGenerator()

    print()
    print("------------start testing finish--------------")
    test_loader = sample_generator.instance_a_loader(t="test")
    df_finish = engine_finish.predict(test_loader)
    print("------------finish testing -------------------")
    print("------------start testing like ----------------")
    Config["normal_config"]["pretrain_model_dir"] = path_like
    engine_like = ModelEngine(config=Config, model=NFFM)
    df_like = engine_like.predict(test_loader)

    df_finish["like_probability"] = df_like["pred_probability"]
    df_finish.columns = [
        "uid", "item_id", "finish_probability", "like_probability"
    ]
    df_finish.to_csv(Config["normal_config"]["predict_file"] +
                     Config["normal_config"]["model_name"],
                     index=None,
                     float_format="%.6f")
Exemple #2
0
from data import SampleGenerator
from config import Config
from models_engine import ModelEngine
from model.xDeepFM import xDeepFM
from model.mlp import MLP
# from model.DTFM import DTFM
from model.nffm import NFFM
from model.affm import AFFM

engine = ModelEngine(config=Config, model=AFFM)
sample_generator = SampleGenerator()

for epoch in range(Config["training_config"]['num_epoch']):
    print('Epoch {} starts!'.format(epoch))
    print('-' * 80)
    train_loader = sample_generator.instance_a_loader(t="train")
    engine.train_an_epoch(train_loader, epoch_id=epoch)
    # evaluation
    print()
    print("------------start evaluating-----------")
    evaluate_loader = sample_generator.instance_a_loader(t="val")
    auc = engine.evaluate(evaluate_loader, epoch_id=epoch)
    engine.save(epoch, auc=auc)

# close hd5 file